home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 June: Reference Library / Dev.CD Jun 94.toast / Technical Documentation / Inside Macintosh / IM—PowerPC System Software / IM—PowerPC System Software
Encoding:
Text File  |  1994-04-27  |  3.5 MB  |  6,473 lines  |  [ONLN/HLX2]

Text Truncated. Only the first 1MB is shown below. Download the file for the complete contents.
  1. INSIDE MACINTOSH
  2.  
  3. PowerPC System Software
  4.     Apple Computer, Inc.
  5. © 1994 Apple Computer, Inc.
  6. All rights reserved. 
  7. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, electronic, photocopying, recording, or otherwise, without prior written permission of Apple Computer, Inc. Printed in the United States of America.
  8. No licenses, express or implied, are granted with respect to any of the technology described in this book. Apple retains all intellectual property rights associated with the technology described in this book. This book is intended to assist application developers to develop applications only for Apple Macintosh computers.
  9. Every effort has been made to ensure that the information in this manual is accurate. Apple is not responsible for printing or clerical errors.
  10. Apple Computer, Inc.
  11. 20525 Mariani Avenue
  12. Cupertino, CA 95014
  13. 408-996-1010
  14. Apple, the Apple logo, APDA, AppleLink, AppleShare, A/UX, HyperCard, LaserWriter, Macintosh, Macintosh Quadra, MPW, PowerBook, and SANE are trademarks of Apple Computer, Inc., registered in the United States and other countries.
  15. Finder, Macintosh Centris, QuickDraw, and QuickTime are trademarks of Apple Computer, Inc.
  16. Adobe Illustrator and PostScript are trademarks of Adobe Systems Incorporated, which may be registered in certain jurisdictions.
  17. America Online is a service mark of Quantum Computer Services, Inc.
  18. Classic is a registered trademark licensed to Apple Computer, Inc.
  19. CompuServe is a registered service mark of CompuServe, Inc.
  20. FrameMaker is a registered trademark of Frame Technology Corporation.
  21. Helvetica and Palatino are registered trademarks of Linotype Company.
  22. Internet is a trademark of Digital Equipment Corporation.
  23. ITC Zapf Dingbats is a registered trademark of International Typeface Corporation.
  24. Motorola is a registered trademark of Motorola Corporation.
  25. Optrotech is a trademark of Orbotech Corporation.
  26. PowerPC is a trademark of International Business Machines Corporation.
  27. THINK C is a trademark of Symantec Corporation.
  28. UNIX is a registered trademark of UNIX System Laboratories, Inc.
  29. Simultaneously published in the United States and Canada.
  30. LIMITED WARRANTY ON MEDIA AND REPLACEMENT
  31. ALL IMPLIED WARRANTIES ON THIS MANUAL, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE LIMITED IN DURATION TO NINETY (90) DAYS FROM THE DATE OF THE ORIGINAL RETAIL PURCHASE OF THIS PRODUCT.
  32. Even though Apple has reviewed this manual, APPLE MAKES NO WARRANTY OR REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS MANUAL, ITS QUALITY, ACCURACY, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS MANUAL IS SOLD “AS IS,” AND YOU, THE PURCHASER, ARE ASSUMING THE ENTIRE RISK AS TO ITS QUALITY AND ACCURACY.
  33. IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT OR INACCURACY IN THIS MANUAL, even if advised of the possibility of such damages.
  34. THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE EXCLUSIVE AND 
  35. IN LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESS OR IMPLIED. No Apple dealer, agent, or employee is authorized to make any modification, extension, or addition to this warranty.
  36. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or consequential damages, 
  37. so the above limitation or exclusion may 
  38. not apply to you. This warranty gives you specific legal rights, and you may also have other rights which vary from state to state.
  39. ISBN 0-201-40727-2
  40. 1 2 3 4 5 6 7 8 9-CRW-9897969594
  41. First Printing, February 1994
  42. Library of Congress Cataloging-in-Publication Data
  43. Inside Macintosh. PowerPC system software / Apple Computer, Inc.
  44.     p.cm.
  45. Includes index.
  46. ISBN 0-201-40727-2
  47. 1. Macintosh (Computer)2. PowerPC (Microprocessor)3. Systems
  48. software.I. Title: PowerPC system software.
  49. QA76.8.M3I5281994
  50. 005.4'469—dc20    93-50182
  51. CIP
  52. Contents
  53. Figures, Tables, and Listingsvii
  54. Preface    About This Bookix
  55.  
  56. Related Documentationxi
  57. Format of a Typical Chapterxi
  58. Conventions Used in This Bookxii
  59. Special Fontsxii
  60. Types of Notesxii
  61. Bit Numbering and Word Sizexii
  62. Assembly-Language Informationxiv
  63. Development Environmentxiv
  64. For More Informationxv
  65. Chapter 1    Introduction to PowerPC System Software1-1
  66.  
  67. Overview of the PowerPC System Software1-4
  68. The 68LC040 Emulator1-6
  69. Emulator Operation1-7
  70. Emulator Limitations1-8
  71. Coprocessors1-9
  72. Instruction Timings1-9
  73. Deleted Instructions1-9
  74. Unsupported Instruction Features1-10
  75. Instruction Caches1-10
  76. Address Error Exceptions1-10
  77. Bus Error Exceptions1-11
  78. Memory-Mapped I/O Locations1-11
  79. Mixed Mode1-13
  80. Cross-Mode Calls1-14
  81. Routine Descriptors1-15
  82. Memory Considerations1-19
  83. The PowerPC Native Environment1-19
  84. Fragments1-20
  85. The Structure of Fragments1-22
  86. Imports and Exports1-23
  87. The Table of Contents1-26
  88. Special Routines1-29
  89. Fragment Storage1-30
  90. Executable Resources1-34
  91. Calling Conventions1-41
  92. The 680x0 Calling Conventions1-42
  93. The PowerPC Calling Conventions1-43
  94. Parameter Passing1-47
  95. Import Libraries1-50
  96. The Organization of Memory1-52
  97. File Mapping1-53
  98. The System Partition1-56
  99. Application Partitions1-57
  100. Data Alignment1-63
  101. Compatibility and Performance1-65
  102. Patches1-66
  103. The Memory Manager1-68
  104. Performance Tuning1-70
  105. Mode Switches1-71
  106. Routine Parameters1-72
  107. Chapter 2    Mixed Mode Manager2-1
  108.  
  109. About the Mixed Mode Manager2-4
  110. External Code2-4
  111. Procedure Pointers2-5
  112. Mode Switches2-7
  113. Calling PowerPC Code From 680x0 Code2-8
  114. Calling 680x0 Code From PowerPC Code2-12
  115. Using the Mixed Mode Manager2-14
  116. Specifying Procedure Information2-14
  117. Using Universal Procedure Pointers2-21
  118. Using Static Routine Descriptors2-22
  119. Executing Resource-Based Code2-24
  120. Mixed Mode Manager Reference2-26
  121. Constants2-27
  122. Routine Descriptor Flags2-27
  123. Procedure Information2-27
  124. Routine Flags2-34
  125. Instruction Set Architectures2-35
  126. Data Structures2-36
  127. Routine Records2-36
  128. Routine Descriptors2-37
  129. Mixed Mode Manager Routines2-38
  130. Creating and Disposing of Routine Descriptors2-39
  131. Calling Routines via Universal Procedure Pointers2-42
  132. Determining Instruction Set Architectures2-44
  133. Summary of the Mixed Mode Manager2-45
  134. C Summary2-45
  135. Constants2-45
  136. Data Types2-48
  137. Mixed Mode Manager Routines2-49
  138. Chapter 3    Code Fragment Manager3-1
  139.  
  140. About the Code Fragment Manager3-3
  141. Fragments3-4
  142. Import Library Searching3-5
  143. Version Checking3-7
  144. Using the Code Fragment Manager3-10
  145. Loading Code Fragments3-10
  146. Creating a Code Fragment Resource3-12
  147. Getting Information About Exported Symbols3-14
  148. Code Fragment Manager Reference3-15
  149. Data Structures3-15
  150. Fragment Initialization Block3-15
  151. Fragment Location Record3-16
  152. Memory Location Record3-17
  153. Disk Location Record3-17
  154. Segment Location Record3-18
  155. Code Fragment Manager Routines3-18
  156. Loading Fragments3-19
  157. Unloading Fragments3-23
  158. Finding Symbols3-24
  159. Fragment-Defined Routines3-26
  160. Resources3-28
  161. The Code Fragment Resource3-28
  162. Summary of the Code Fragment Manager3-32
  163. C Summary3-32
  164. Constants3-32
  165. Data Types3-33
  166. Code Fragment Manager Routines3-34
  167. Fragment-Defined Routines3-35
  168. Result Codes3-35
  169. Chapter 4    Exception Manager4-1
  170.  
  171. About the Exception Manager4-3
  172. Exception Contexts4-4
  173. Types of Exceptions4-5
  174. Using the Exception Manager4-6
  175. Installing an Exception Handler4-6
  176. Writing an Exception Handler4-7
  177. Exception Manager Reference4-9
  178. Constants4-9
  179. Exception Kinds4-9
  180. Memory Reference Kinds4-11
  181. Data Structures4-12
  182. Machine Information Records4-12
  183. Register Information Records4-12
  184. Floating-Point Information Records4-14
  185. Memory Exception Records4-15
  186. Exception Information Records4-16
  187. Exception Manager Routines4-17
  188. Application-Defined Routines4-17
  189. Summary of the Exception Manager4-19
  190. C Summary4-19
  191. Constants4-19
  192. Data Types4-19
  193. Exception Manager Routines4-22
  194. Application-Defined Routines4-22
  195. GlossaryGL-1
  196.  
  197. IndexIN-1
  198. Figures, Tables, and Listings
  199. Preface    About This Bookix
  200.  
  201. Figure P-1    680x0 bit numberingxiii
  202. Figure P-2    PowerPC bit numberingxiii
  203. Table P-1    Sizes of memory operandsxiii
  204. Chapter 1    Introduction to PowerPC System Software1-1
  205.  
  206. Figure 1-1    The system software for PowerPC processor-based Macintosh computers1-5
  207. Figure 1-2    Creating imports in a fragment1-24
  208. Figure 1-3    A transition vector1-27
  209. Figure 1-4    The structure of a PowerPC application1-31
  210. Figure 1-5    The structure of a 680x0 application1-32
  211. Figure 1-6    The structure of a fat application1-33
  212. Figure 1-7    The structure of an accelerated resource1-35
  213. Figure 1-8    The structure of a private resource1-36
  214. Figure 1-9    A 680x0 stack frame1-42
  215. Figure 1-10    The PowerPC stack1-44
  216. Figure 1-11    The structure of a stack frame’s linkage area1-45
  217. Figure 1-12    The Red Zone1-46
  218. Figure 1-13    The organization of the parameter area on the stack1-49
  219. Figure 1-14    Organization of memory when virtual memory is enabled1-54
  220. Figure 1-15    Organization of memory when virtual memory is not enabled1-56
  221. Figure 1-16    The structure of a PowerPC application partition1-60
  222. Figure 1-17    The Memory control panel for PowerPC processor-based Macintosh computers1-69
  223. Listing 1-1    Creating a routine descriptor1-17
  224. Listing 1-2    The definition of the NewControlActionProc routine1-18
  225. Listing 1-3    Creating a routine descriptor for a control action procedure1-19
  226. Listing 1-4    Testing for unresolved soft imports1-25
  227. Listing 1-5    The Rez input for a sample 'cfrg' resource1-32
  228. Listing 1-6    Rez input for a list definition procedure stub1-35
  229. Listing 1-7    Using an accelerated resource1-37
  230. Listing 1-8    Some acceptable global declarations in an accelerated resource1-39
  231. Listing 1-9    Some unacceptable global declarations and code in an accelerated resource1-39
  232. Listing 1-10    Using a private resource1-40
  233. Listing 1-11    Declaring an application’s QuickDraw global variables1-59
  234. Listing 1-12    A sample 680x0 VBL task definition1-61
  235. Listing 1-13    A conditionalized VBL task definition1-62
  236. Listing 1-14    Patching an Operating System trap1-67
  237. Listing 1-15    Waiting to call the WaitNextEvent function1-72
  238. Chapter 2    Mixed Mode Manager2-1
  239.  
  240. Figure 2-1    680x0 and PowerPC procedure pointers2-5
  241. Figure 2-2    Calling PowerPC code from a 680x0 application2-9
  242. Figure 2-3    The stack before a mode switch2-10
  243. Figure 2-4    A 680x0-to-PowerPC switch frame2-11
  244. Figure 2-5    A PowerPC-to-680x0 switch frame2-13
  245. Figure 2-6    Procedure information for a stack-based routine2-17
  246. Figure 2-7    Procedure information for a register-based routine2-19
  247. Figure 2-8    General structure of an executable code resource2-25
  248. Figure 2-9    General structure of a fat resource2-26
  249. Table 2-1    Limits on the number of specifiable parameters in a procedure information2-20
  250. Listing 2-1    Sample glue code for a 680x0 routine2-12
  251. Listing 2-2    Creating global routine descriptors2-21
  252. Listing 2-3    Creating local routine descriptors2-22
  253. Listing 2-4    Creating static routine descriptors2-23
  254. Listing 2-5    Building a static routine descriptor2-23
  255. Chapter 3    Code Fragment Manager3-1
  256.  
  257. Figure 3-1    Structure of a compiled code fragment ('cfrg') resource3-29
  258. Figure 3-2    The format of a code fragment information record3-30
  259. Listing 3-1    Pseudocode for the version-checking algorithm3-9
  260. Listing 3-2    Loading a resource-based fragment3-11
  261. Listing 3-3    Loading a disk-based fragment3-11
  262. Listing 3-4    The Rez input for a typical application’s 'cfrg' resource3-12
  263. Listing 3-5    The Rez input for a typical import library’s 'cfrg' resource3-13
  264. Listing 3-6    Finding symbol names3-14
  265. Chapter 4    Exception Manager4-1
  266.  
  267. Listing 4-1    Installing an exception handler4-6
  268. Listing 4-2    A native exception handler4-8
  269. About This Book
  270.  
  271.  
  272. This book, Inside Macintosh: PowerPC System Software, describes the new process execution environment and system software services provided with the first version of the system software for Macintosh on PowerPC computers. It contains information you need to know to write applications and other software that can run on PowerPC processor-based Macintosh computers.
  273. The first release of the system software for Macintosh on PowerPC computers provides a mixed or hybrid environment: the system software provides the ability to execute both applications that use the native instruction set of the PowerPC microprocessor and applications that use the 680x0 instruction set. It accomplishes this by providing a very efficient 68LC040 Emulator that emulates 680x0 instructions with PowerPC instructions. As a result, virtually all existing 680x0-based Macintosh applications and other software modules that conform to the programming interfaces and techniques documented in the Inside Macintosh suite of books will execute without modification on PowerPC processor-based Macintosh computers.
  274. To take maximum advantage of the much greater processing speed of the PowerPC microprocessor, however, you’ll need to recompile your application’s source code into a PowerPC application. Apple Computer, Inc., provides MPW-based C and C++ compilers and other tools that you can use to create native PowerPC applications. In general, if your source code is already compliant with ANSI C standards or the de facto ANSI C++ standards, you should be able, with moderately little effort, to rework your source code so that it can be compiled and built using the Apple-supplied tools into a PowerPC application. This book is intended to provide much of the information you need to port your existing 680x0 application (or other software) to the PowerPC platform.
  275. Note
  276. There will also be third-party compilers and development 
  277. environments capable of generating PowerPC code.u
  278. Although the native run-time execution environment of the first version of the system software for PowerPC processor-based Macintosh computers is significantly different from the execution environment of current 680x0-based Macintosh computers, you won’t need to worry about those differences unless your existing code relies on specific information about the 680x0 execution environment. For example, if for some reason you directly access information in your application’s A5 world, you’ll need to rewrite those 
  279. parts of code when porting your application to the PowerPC environment. Similarly, you’ll need to rewrite any parts of your code that depend on 
  280. data being passed in certain 680x0 registers. VBL tasks, for instance, very often depend on the fact that a pointer to the VBL task record is passed in register A0.
  281. The first chapter in this book, “Introduction to PowerPC System Software,” provides a general overview of the system software that runs on PowerPC processor-based Macintosh computers. It also describes in detail the mixed environment provided by the 68LC040 Emulator and the Mixed Mode Manager, as well as the new run-time environment used for native PowerPC applications. You should read this chapter for general information about porting your existing software to the PowerPC environment. Even if you do not intend to port your existing 680x0 software, you might still want to read this chapter for information about running under the 68LC040 Emulator.
  282. The remaining chapters in this book provide reference material for the three new system software managers introduced in the first version of the system software for PowerPC processor-based Macintosh computers. You should read these chapters for specific information on using the services provided by those managers. The new system software managers are
  283. n    the Mixed Mode Manager, which manages the mixed environment of PowerPC processor-based Macintosh computers running 680x0-based code
  284. n    the Code Fragment Manager, which loads fragments (blocks of executable PowerPC code and their associated data) into memory and prepares them for execution
  285. n    the Exception Manager, which handles exceptions that occur during the execution of PowerPC applications or other software
  286. IMPORTANT
  287. Some of the system software services introduced in the first version of the system software for PowerPC processor-based Macintosh computers might in the future be available on Macintosh computers that are not based on the PowerPC microprocessor. For example, it’s possible that the Code Fragment Manager (and the entire run-time environment based on fragments) will be included in future versions of the system software for 680x0-based Macintosh computers. As a result, some of the information in this book might eventually be more generally applicable than the title of this book might suggest.s
  288. If you are new to programming for Macintosh computers, you should read the book Inside Macintosh: Overview for an introduction to general concepts 
  289. of Macintosh programming. You should also read other books in the Inside Macintosh series for specific information about other aspects of the Macintosh Toolbox and the Macintosh Operating System. In particular, to benefit most from this book, you should already be familiar with the run-time environment of 680x0 applications, as described in the two books Inside Macintosh: Processes and Inside Macintosh: Memory.
  290.  
  291.  
  292. Related Documentation
  293.  
  294. This book is part of a larger suite of books that contain information essential for developing PowerPC applications and other software.
  295. n    For information about the PPCC compiler that you can use to compile your source code into a PowerPC application, see the book C/C++ Compiler for Macintosh With PowerPC.
  296. n    For information about the PPCAsm assembler, see the book Assembler for Macintosh With PowerPC.
  297. n    For information about debugging and measuring the performance of PowerPC applications, see the book Macintosh Debugger Reference.
  298. n    For information about performing floating-point calculations in PowerPC applications, see the book Inside Macintosh: PowerPC Numerics.
  299. n    For information about building PowerPC applications and other kinds of PowerPC software for Macintosh computers, see Building Programs for Macintosh With PowerPC.
  300.  
  301. Format of a Typical Chapter
  302.  
  303. Almost all chapters in this book follow a standard structure. For example, the chapter “Mixed Mode Manager” contains these sections:
  304. n    “About the Mixed Mode Manager.” This section describes the Mixed Mode Manager. You should read this section for a general understanding of 
  305. what the Mixed Mode Manager does and when you might need to call 
  306. it explicitly.
  307. n    “Using the Mixed Mode Manager.” This section provides detailed instruc-
  308. tions on using the Mixed Mode Manager. You should read this section if you need to use the services provided by the Mixed Mode Manager.
  309. n    “Mixed Mode Manager Reference.” This section provides a complete reference to the constants, data structures, and routines provided by the Mixed Mode Manager. Each routine description also follows a standard format, which presents the routine declaration followed by a description 
  310. of every parameter of the routine. Some routine descriptions also give additional descriptive information, such as circumstances under which you cannot call the routine or result codes.
  311. n    “Summary of the Mixed Mode Manager.” This section provides the C interfaces for the constants, data structures, routines, and result codes associated with the Mixed Mode Manager. 
  312.  
  313.  
  314. Conventions Used in This Book
  315.  
  316. Inside Macintosh uses various conventions to present information. Words that require special treatment appear in specific fonts or font styles. Certain information, such as parameter blocks, appears in special formats so that you can scan it quickly.
  317. Special Fonts
  318.  
  319. All code listings, reserved words, and the names of actual data structures, constants, fields, parameters, and routines are shown in Courier (this is Courier).
  320. Words that appear in boldface are key terms or concepts and are defined in the glossary at the end of this book. Note that numerical entries (for example, 32-bit clean) are sorted before all alphabetical entries in the glossary and in the index.
  321. Types of Notes
  322.  
  323. There are several types of notes used in Inside Macintosh.
  324. Note
  325. A note like this contains information that is interesting but possibly not essential to an understanding of the main text. (An example appears on page 1-6.)u
  326. IMPORTANT
  327. A note like this contains information that is essential for an understanding of the main text. (An example appears on page 1-19.)s
  328. sWARNING
  329. Warnings like this indicate potential problems that you should be aware of as you design your application. Failure to heed these warnings 
  330. could result in system crashes or loss of data. (An example appears on page 1-8.)s
  331. Bit Numbering and Word Size
  332.  
  333. This book departs from the conventions followed in previous Inside Macintosh books in regard to the numbering of bits within a range of data. Previously, for example, the bits in a 32-bit data type were numbered 0 to 31, from right to left, as shown in Figure P-1 on the following page. The least significant bit of a 32-bit data type was addressed as bit 0, and the most significant bit was addressed as bit 31. This convention was in accordance with that used by Motorola in the books documenting their 680x0 family of microprocessors (for example, the MC68040 32-Bit Microprocessor User’s Manual).
  334. Figure P-1    680x0 bit numbering
  335.  
  336. In this book, the bits in a 32-bit data type are numbered 0 to 31, from left to right. The most significant bit of a 32-bit data type is addressed as bit 0, and the least significant bit is addressed as bit 31. This convention, illustrated in Figure P-2, is in accordance with the bit-numbering conventions used by Motorola in the books documenting the PowerPC family of microprocessors (for example, the PowerPC 601 RISC Microprocessor User’s Manual).
  337. Figure P-2    PowerPC bit numbering
  338.  
  339. In addition, there are differences between 680x0 and the PowerPC terminology to describe the sizes of certain memory operands, as shown in Table P-1. 
  340. Table P-1    Sizes of memory operands
  341. Size    680x0 terminology    PowerPC terminology    
  342. 8 bits    Byte    Byte    
  343. 2 bytes    Word    Half word    
  344. 4 bytes    Long word    Word    
  345. 8 bytes    N/A    Double word    
  346. 16 bytes    N/A    Quad word    
  347.  
  348. To avoid confusion, however, this book generally uses bytes to give the sizes of objects in memory.
  349. Assembly-Language Information
  350.  
  351. Inside Macintosh presents information about the fields of a parameter block in this format:
  352. Parameter block´    inAndOut    Handle    Input/output parameter.    
  353. ¨    output1    Ptr    Output parameter.    
  354. Æ    input1    Ptr    Input parameter.    
  355.  
  356. The arrow in the far-left column indicates whether the field is an input parameter, output parameter, or both. You must supply values for all input parameters and input/output parameters. The routine returns values in output parameters and input/output parameters.
  357. The second column shows the field name as defined in the MPW C interface files; the third column indicates the C data type of that field. The fourth column provides a brief description of the use of the field. For a complete description of each field, see the discussion that follows the parameter 
  358. block or the description of the parameter block in the reference section of 
  359. the chapter.
  360.  
  361. Development Environment
  362.  
  363. The system software routines described in this book are available using C 
  364. or assembly-language interfaces. How you access these routines depends 
  365. on the development environment you are using. This book shows system software routines in their C interface using the Macintosh Programmer’s Workshop (MPW).
  366. All code listings in this book are shown in C (except for listings that describe resources, which are shown in Rez-input format). They show methods of using various routines and illustrate techniques for accomplishing particular tasks. All code listings have been compiled and, in most cases, tested. However, Apple Computer does not intend that you use these code samples in your application. You can find the location of this book’s code listings in the list of figures, tables, and listings.
  367. To make the code listings in this book more readable, only limited error handling is shown. You need to develop your own techniques for detecting and handling errors.
  368. This book occasionally illustrates concepts by reference to a sample applica-
  369. tion called SurfWriter and a sample import library called SurfTools; these are not actual products of Apple Computer, Inc.
  370.  
  371.  
  372. For More Information
  373.  
  374. APDA is Apple’s worldwide source for over three hundred development tools, technical resources, training products, and information for anyone interested in developing applications on Apple platforms. Customers receive the quarterly APDA Tools Catalog featuring all current versions of Apple development tools and the most popular third-party development tools. Ordering is easy; there are no membership fees, and application forms are not required for most of our products. APDA offers convenient payment and shipping options, including site licensing.
  375. To order products or to request a complimentary copy of the APDA Tools Catalog, contact 
  376. APDA 
  377. Apple Computer, Inc. 
  378. P.O. Box 319
  379. Buffalo, NY 14207-0319Telephone    800-282-2732 (United States)
  380. 800-637-0029 (Canada)
  381. 716-871-6555 (International)    
  382. Fax    716-871-6511     
  383. AppleLink    APDA    
  384. America Online    APDA    
  385. CompuServe    76666,2405    
  386. Internet    APDA@applelink.apple.com    
  387.  
  388. If you provide commercial products and services, call 408-974-4897 for information on the developer support programs available from Apple.
  389. For information on registering signatures, file types, Apple events, and other technical information, contact
  390. Macintosh Developer Technical Support
  391. Apple Computer, Inc.
  392. 20525 Mariani Avenue, M/S 303-2T
  393. Cupertino, CA 95014-6299
  394. Listing 1-0
  395. Table 1-0
  396. Introduction to PowerPC System Software
  397. Contents
  398. Overview of the PowerPC System Software1-4
  399. The 68LC040 Emulator1-6
  400. Emulator Operation1-7
  401. Emulator Limitations1-8
  402. Coprocessors1-9
  403. Instruction Timings1-9
  404. Deleted Instructions1-9
  405. Unsupported Instruction Features1-10
  406. Instruction Caches1-10
  407. Address Error Exceptions1-10
  408. Bus Error Exceptions1-11
  409. Memory-Mapped I/O Locations1-11
  410. Mixed Mode1-13
  411. Cross-Mode Calls1-14
  412. Routine Descriptors1-15
  413. Memory Considerations1-19
  414. The PowerPC Native Environment1-19
  415. Fragments1-20
  416. The Structure of Fragments1-22
  417. Imports and Exports1-23
  418. The Table of Contents1-26
  419. Special Routines1-29
  420. Fragment Storage1-30
  421. Executable Resources1-34
  422. Calling Conventions1-41
  423. The 680x0 Calling Conventions1-42
  424. The PowerPC Calling Conventions1-43
  425. Parameter Passing1-47
  426. Import Libraries1-50
  427. The Organization of Memory1-52
  428. File Mapping1-53
  429. The System Partition1-56
  430. Application Partitions1-57
  431. Data Alignment1-63
  432. Compatibility and Performance1-65
  433. Patches1-66
  434. The Memory Manager1-68
  435. Performance Tuning1-70
  436. Mode Switches1-71
  437. Routine Parameters1-72
  438. Introduction to PowerPC System Software
  439. This chapter is a general introduction to the system software provided on PowerPC processor-based Macintosh computers. It describes the mixed environment provided by the 68LC040 Emulator and the Mixed Mode Manager. These two new system software services work together to allow existing 680x0 applications, extensions, drivers, and other software to execute without modification on PowerPC processor-based Macintosh computers. The 68LC040 Emulator and the Mixed Mode Manager also make it possible for parts of the system software to remain as 680x0 code, while other parts of the system software are reimplemented (primarily for reasons of speed) as native PowerPC code.
  440. This chapter also describes the native PowerPC execution environment. Although the process-scheduling mechanism used for both native and emulated applications has not changed, the run-time environment for PowerPC applications is significantly different from the run-time environment used for 680x0-based Macintosh applications. In cases where your application (or other software) relies on features of the 680x0 run-time environment, you’ll need to modify your application before recompiling it as a PowerPC application. For example, if your application directly accesses information stored in low memory (such as system global variables) or in its A5 world, you might need to rewrite parts of your application to remove the dependence on that information. See “The PowerPC Native Environment” beginning on page 1-19 for complete instructions on doing this.
  441. You should read this chapter if you want your application to run on PowerPC processor-
  442. based Macintosh computers, either under the 68LC040 Emulator or in the PowerPC native environment. If you choose not to rebuild your application for the PowerPC environment, you should at least make certain that it doesn’t violate any of the known restrictions on the emulator. See “Emulator Limitations” on page 1-8 for specific informa-
  443. tion about the known operational differences between the 68LC040 Emulator and a 680x0 microprocessor.
  444. You should also read this chapter for information about the PowerPC execution environ-
  445. ment. Although the existing software development tools build your source code into executable PowerPC code that conforms to the requirements of this new environment, you might need to know about the native run-time environment for debugging purposes or if your application uses external code modules. Otherwise, the new execution environ-
  446. ment should be completely transparent to your application.
  447. You should be able to accomplish much of the work involved in porting your application from the 680x0 platform to the PowerPC platform using the information in this chapter. If your application installs callback routines with nonstandard calling conventions, however, you might need to read the chapter “Mixed Mode Manager” in this book. In addition, if your application explicitly loads external code modules (such as file trans-
  448. lators or custom definition procedures), you might need to read the chapter “Code Fragment Manager” in this book. Read the chapter “Exception Manager” if you want your native application to handle any exceptions that arise while it is executing.
  449. To use this chapter, you should already be generally familiar with the Macintosh Operating System. See the books Inside Macintosh: Processes and Inside Macintosh: Memory for information about the run-time environment of 680x0-based Macintosh computers.
  450. This chapter begins with a description of the mixed environment provided by the PowerPC system software. Then it gives information about the native PowerPC run-time environment. This chapter ends by explaining how to perform a number of specific 
  451. tasks in the PowerPC environment, such as patching system software traps.
  452. Note
  453. For ease of exposition, this book occasionally focuses on porting applications from the 680x0 environment to the PowerPC environment. In general, however, any changes required for applications are required also for all other kinds of software.u
  454.  
  455. Overview of the PowerPC System Software
  456.  
  457. The system software for PowerPC processor-based Macintosh computers is System 7.1, with suitable changes made to support the mixed environment that allows both 680x0 software and PowerPC software to execute on a computer. The mixed environment provides virtually complete compatibility for existing 680x0 software, as well as vastly increased performance for applications and other software that are built to use the native instruction set of the PowerPC microprocessor.
  458. Because the system software for PowerPC processor-based Macintosh computers is derived from System 7.1 for 680x0-based Macintosh computers, your application—whether 680x0 or PowerPC—must conform to the basic requirements imposed by system software versions 7.0 and later. In particular, your application (or other software) must be
  459. n    32-bit clean
  460. n    compatible with the operations of the Virtual Memory Manager
  461. n    able to operate smoothly in the cooperative multitasking environment maintained by the Process Manager
  462. If your 680x0 software conforms to these specific requirements and to the general requirements for Macintosh software documented throughout Inside Macintosh, it is highly probable that it will execute without problems on PowerPC processor-based Macintosh computers. This is because the system software for PowerPC processor-based Macintosh computers includes a very efficient 68LC040 Emulator that emulates 680x0 instructions with PowerPC instructions. In addition, the system software includes the Mixed Mode Manager, which is responsible for handling any necessary mode switches between the native PowerPC environment and the 680x0 environment.
  463. Figure 1-1 shows a general overview of the system software for PowerPC processor-
  464. based Macintosh computers. A small kernel, called the nanokernel, communicates directly with the PowerPC processor and provides very low-level services (such as interrupt handling and memory management).
  465. Figure 1-1    The system software for PowerPC processor-based Macintosh computers
  466.  
  467. Even applications written entirely in 680x0 code might cause mode switches while they are executing, because some portions of the Macintosh Operating System have been rewritten in PowerPC code for increased performance. For example, the Memory Manager has been rewritten in C and recompiled into PowerPC code. In general, however, mode switches occur completely transparently to 680x0 software. Only native PowerPC software needs to worry about mode switches. See “Mixed Mode” beginning on page 1-13 for details.
  468. As you would expect, the emulation environment provided by the 68LC040 Emulator uses the standard 680x0 run-time model. The organization of an application partition and the run-time behavior of emulated software are identical to what is provided on 680x0-based Macintosh computers. However, the execution environment for native PowerPC software is significantly different from the standard 680x0 run-time environ-
  469. ment. The PowerPC environment provides a much simpler and easier-to-use run-time model based on fragments. A fragment is any block of executable PowerPC code and its associated data. Fragments are created by your development system’s linker.
  470. Note
  471. Note
  472. The term fragment is not intended to suggest that the block of code and data is in any way either small, detached, or incomplete. Fragments can be of virtually any size, and they are complete, executable entities. The term fragment was chosen to avoid confusion with the terms already used in Inside Macintosh to describe executable code (such as component and module).u
  473. Fragments use a method of addressing the data they contain that is different and more general than the A5-relative method that 680x0 applications use to address their global data. One important consequence is that any PowerPC software packaged as a fragment has easy access to global data. In the 680x0-based system software, it was sometimes difficult to use global data within types of software other than applications.
  474. In addition, it was often complicated for a routine installed by some code to gain 
  475. access to the code’s global variables. For example, you cannot—in the current 680x0 environment—write a VBL task that uses your application’s global variables without somehow passing your application’s A5 value to the VBL task. (A VBL task is a task that executes during a vertical blanking interrupt.) In the PowerPC environment, any routine contained in an application has automatic access to the application’s global variables. You do not need to devise special ways to pass the address of your application’s A5 world to the installed routine. More generally, any routine executing in the PowerPC environment has access to the global data of the fragment it’s contained in.
  476. The new run-time model used for native PowerPC software incorporates other important simplifications as well. In native applications, there is no segmentation of 
  477. the executable code. The existing compilers that produce PowerPC code ignore any segmentation directives you include in your source code. In addition, any calls you make to the Segment Manager’s UnloadSeg procedure are simply ignored by the PowerPC system software. The task of keeping required code in memory is handled completely by the Virtual Memory Manager or the Process Manager, not by your application.
  478. The remaining sections in this chapter describe in greater detail the mixed environment of PowerPC processor-based Macintosh computers and the new native run-time environment. If you’re interested mainly in rebuilding your application as native PowerPC code, you can skip to the section “Mixed Mode” beginning on page 1-13, which describes the ways in which you might need to use the Mixed Mode Manager 
  479. to make your native application compatible with the mixed environment.
  480.  
  481. The 68LC040 Emulator
  482.  
  483. The 68LC040 Emulator is the part of the PowerPC system software that allows 680x0 applications and other software to execute on PowerPC processor-based Macintosh computers. This emulator provides an execution environment that is virtually identical to the execution environment found on 680x0-based Macintosh computers. The emulator converts 680x0 instructions into PowerPC instructions, issues those instructions to the PowerPC microprocessor, and updates the emulated environment (such as the emulated 680x0 registers) in response to the operations of the PowerPC microprocessor.
  484. In general, the 680x0 emulation environment supports all existing 680x0 applications that already work correctly on all Macintosh computers containing a Motorola 68020, 68030, or 68040 microprocessor. There are, however, some differences between the operation of the 68LC040 Emulator and an actual 68040 microprocessor. The following two sections provide some information on the general operation and limitations of the 68LC040 Emulator.
  485. Note
  486. Unless you are programming in assembly language or doing very low-level debugging, you’re not likely to need the information in 
  487. the following two sections.u
  488. Emulator Operation
  489.  
  490. The 68LC040 Emulator implements the basic Motorola 68040 user mode instruction set. It does not, however, support any of the instructions from the optional 68881 or 68882 floating-point coprocessors. Moreover, although the emulator supports the operations of the Virtual Memory Manager, it does not support instructions from the 68851 Paged Memory Management Unit (PMMU). The 680x0-based Macintosh computer whose hardware configuration most closely resembles the software configuration of the 68LC040 Emulator is the Macintosh Centris 610, which contains the Motorola 68LC040 microprocessor. (The 68LC040 microprocessor is identical to the 68040 microprocessor except that it has no floating-point unit.) As a result, if your application or other software runs without problems on the Macintosh Centris 610, it is very likely to run without problems under the 68LC040 Emulator.
  491. Note
  492. For the complete specification of how you can expect both a 
  493. real 68040 and the 68LC040 Emulator to behave, see the 
  494. MC68040 32-Bit Microprocessor User’s Manual.u
  495. The Gestalt function returns the value gestalt68020 when you pass it the selector gestaltProcessorType and the calling software is executing under the emulator. This return value is intended to highlight the two ways in which the 68LC040 Emulator more closely resembles a 68020 processor than a 68040 processor:
  496. n    The emulated environment does not support either the FPU or the MMU contained in an actual 68040 processor.
  497. n    The emulated environment creates exception stack frames in accordance with the 68020 exception frame model.
  498. The 68LC040 Emulator consists of two main parts, a main dispatch table and a block of additional code called by entries in the main dispatch table. The main dispatch table contains two native PowerPC instructions for each recognized 680x0 operation code (or opcode). In cases where a 680x0 opcode can be handled by a single PowerPC instruction, the first native instruction in the dispatch table is enough to complete the requested operation. In most cases, however, the handling of a 680x0 opcode requires more than one PowerPC instruction. In that case, the first native instruction in the main dispatch table simply begins the emulation process.
  499. The second native instruction in the emulator’s main dispatch table is usually a PC-relative branch into the block of additional code. The additional code continues 
  500. the emulation of the 680x0 opcode begun by the first instruction.
  501. The emulator’s main dispatch table also includes entries that support private opcodes reserved for use by the system software, including both A-line and F-line instructions. For example, the Mixed Mode Manager communicates with the 68LC040 Emulator using A-line instructions embedded in routine descriptors. (See “Routine Descriptors” beginning on page 1-15 for details.) Other system software services, including the Virtual Memory Manager, also issue reserved opcodes to the emulator.
  502. When the emulator is active, it maps all 680x0 registers to the registers on the PowerPC microprocessor, including the 680x0 program counter (PC) and Status Register (SR). The general-purpose register GPR1 serves as both the 680x0 and native stack pointer. The emulator also dedicates a native register to point to the 680x0 context block, a block 
  503. of data containing information that needs to be preserved across mode switches. The context block contains all the 680x0 registers, the addresses of the main dispatch table and the block of additional code, and other information used internally by the emulator. The emulator saves information into the context block when it is about to exit (for example, when a 680x0 application calls a piece of native code) and restores the information from the block when it is subsequently activated.
  504. sWARNING
  505. You should not rely on any specific information about the 68LC040 Emulator’s private data structures or opcodes.s
  506. Emulator Limitations
  507.  
  508. Largely because it is a purely software implementation of a hardware microprocessor, the 68LC040 Emulator sometimes exhibits behavior that differs from that of an actual 680x0 microprocessor. These operational differences can lead to problems, ranging from the obvious (for example, using the floating-point coprocessor instruction set, which is not supported by the 68LC040 Emulator) to the subtle (for example, depending upon a value in an undefined condition code bit). If your application or other software depends on 680x0 behavior that is not reproduced exactly by the 68LC040 Emulator, your product might have problems when executing under the emulator. The known exceptions to the documented 680x0 specifications concern
  509. n    coprocessors and instruction sets
  510. n    instruction timings
  511. n    deleted instructions
  512. n    unsupported instruction features
  513. n    instruction caches
  514. n    address error exceptions
  515. n    bus error exceptions
  516. n    memory-mapped I/O locations
  517. The following sections describe these limitations in greater detail.
  518. Coprocessors
  519.  
  520. As previously indicated, the 68LC040 Emulator does not support the instruction sets of either the 68881 or the 68882 floating-point coprocessor or of the 68851 PMMU. Any software that uses floating-point instructions is therefore not compatible with the 68LC040 Emulator. Because there are several 680x0-based Macintosh computers that 
  521. do not contain floating-point coprocessors, this restriction is not likely to cause new compatibility problems for your software. It’s possible that you have used SANE to perform hardware-independent floating-point arithmetic. If so, you’ll probably notice that floating-point calculations are performed even faster under the 68LC040 Emulator than on a real 680x0-based Macintosh computer. This is because PowerPC processor-
  522. based Macintosh computers include an accelerated version of SANE written in native PowerPC code.
  523. The 68LC040 Emulator does not support the 68851 PMMU instruction set (which also includes the 68030 and 68040 internal PMMUs). The Virtual Memory Manager is still supported, but using a different mechanism. Very few applications address the PMMU directly, so this restriction is not likely to affect many developers. Those applications that do address the PMMU directly are very likely already incompatible with A/UX and with the Virtual Memory Manager.
  524. More generally, the 68LC040 Emulator does not support the coprocessor bus interface. As a result, the emulator does not support any externally connected hardware coprocessors.
  525. Instruction Timings
  526.  
  527. The 68LC040 Emulator executes 680x0 instructions as fast as possible, making no attempt to maintain the same number of clock counts as on a real 68040 microprocessor. There are classes of instructions that execute in the same number of cycles whether 
  528. on a real 68040 or under the 68LC040 Emulator, but you should not depend on this. 
  529. In general, of course, your 680x0 application is most likely already independent of instruction timing, because it should run without problem on a wide range of 680x0 microprocessors having quite different clock rates.
  530. Deleted Instructions
  531.  
  532. Several instructions included in the instruction set of the 68020 microprocessor were removed from the instruction sets of the 68030 and 68040 microprocessors. The deleted instructions are the CALLM and RTM instructions, which were intended for use in module calls. These instructions are not supported by the 68LC040 Emulator, and any attempt 
  533. to execute them will result in an illegal instruction exception. However, because these instructions are not present in any 680x0 microprocessor either before or after the 68020, this restriction is not likely to present compatibility problems for your software.
  534. Unsupported Instruction Features
  535.  
  536. Several instruction or addressing mode fields and encodings are documented by Motorola as reserved. In addition, many instructions are documented as producing undefined condition code result bits or undefined register results. Accordingly, the behavior of these reserved fields and undefined results differs across the various members of the 680x0 family of microprocessors and under the 68LC040 Emulator. It is unlikely that any existing software intentionally depends on either reserved fields or undefined results. It is, however, remotely possible that through a programming error some software might be depending on these results and hence might behave differently under the emulator than on an actual 680x0.
  537. Instruction Caches
  538.  
  539. The operation of the instruction cache in the 68040 microprocessor is not supported by the 68LC040 Emulator, although all of the bits in the Cache Control Register (CACR) and Cache Address Register (CAAR) related to the instruction cache are supported. In general, of course, your code should not address the cache registers directly.
  540. Because both emulated code and data reside in the PowerPC data cache, the performance benefits associated with caching are still present. Indeed, the caching scheme used transparently by the 68LC040 Emulator results in a higher level of software compatibility than is found on actual 680x0 microprocessors. Some older versions of software that 
  541. are incompatible with the 68040 cache mechanism can run without problem under 
  542. the emulator.
  543. Requests to invalidate the 68040 instruction cache are ignored by the 68LC040 Emulator. However, you should continue to issue those calls in order to remain compatible with 680x0-based Macintosh computers. Moreover, all cache flushing required for PowerPC code fragments is performed automatically by the Code Fragment Manager.
  544. Note
  545. For details on invalidating the 680x0 instruction cache, see the chapter “Memory Management Utilities” in Inside Macintosh: Memory.u
  546. It is possible, although unlikely, that an application depends on the ability of the 68040 instruction cache to retain a stale copy of instructions after the RAM copy of them has been changed. Such applications do not work correctly with 68000-based Macintosh computers (for example, the Macintosh Plus, SE, Classic®, or PowerBook 100) and any 68040-based computers (for example, the Macintosh Quadra 950) when the Cache CDEV is used to disable caching. As a result, this nonemulated behavior should not present any new compatibility problems.
  547. Address Error Exceptions
  548.  
  549. To improve the performance of branch instructions, the 68LC040 Emulator is not completely compatible with an actual 68040 microprocessor when detecting and reporting address error exceptions. A 680x0 microprocessor checks for address errors before completing the execution of a branch instruction; if it finds an address error, the microprocessor reports (in an address error exception frame that it creates on the stack) the PC at the beginning of the branch instruction. By contrast, the 68LC040 Emulator checks for address errors after executing a branch instruction; as a result, it reports the odd branch address as the PC in the exception frame. Because the PC of the instruction that caused the branch is not reported, you might find it more difficult to debug an application that commits address errors. You might also have compatibility problems if you install an address error exception handler.
  550. Bus Error Exceptions
  551.  
  552. The 68LC040 Emulator handles bus error exceptions slightly differently than does a real 680x0 microprocessor. If you install a bus error handler, you might need to be aware of these differences. You also need to be aware of these differences when debugging your software, because most debuggers need to handle bus error exceptions.
  553. The 68LC040 Emulator creates format $B exception frames when generating and handling bus errors. However, several fields within the exception frame are documented by Motorola as internal fields, and the contents of those fields are very likely to differ between the 68LC040 Emulator exception stack frame and the exception stack frame created by a 680x0 microprocessor. You should not rely on these reserved fields. To avoid any possible confusion that the internal state information in the emulated exception frame is compatible with the internal state information created by the 680x0 micro-
  554. processors, the exception frame created by the emulator intentionally uses a value in the Version Number field of the exception frame that is different from the value put there by any 680x0 microprocessor.
  555. In addition, there are several documented fields of the bus error exception frame that have slightly different values in the emulator than on a 680x0-based Macintosh computer. As long as bus error exception handlers do not modify these fields, it is still possible to use the RTE instruction to continue execution of the instruction that caused the exception. In particular, the PC field of the exception frame might not point to the exact beginning of the instruction that generated the exception. Instead, it might point to some location near the beginning of that instruction. Also, the Stage B address field and the Stage B and Stage C instruction pipe fields might not contain valid information.
  556. Finally, the Special Status Word (SSW) differs under the 68LC040 Emulator. The 68LC040 Emulator does not distinguish between instruction space and data space accesses; instead, it converts instruction fetches to data space reads. As a result, the FC2–FC0 field always indicates either a supervisor or a user data space reference. In addition, the emulator never sets the FC, FB, or RM bits, and it ignores the RC and RB bits. The DF bit is fully supported, however, allowing both program completion of bus cycles and rerunning of bus cycles with the RTE instruction. The 68LC040 Emulator also puts valid values in the RM and SIZ bits.
  557. Memory-Mapped I/O Locations
  558.  
  559. In general, most applications do not directly access memory-mapped I/O locations. Instead, they call device drivers or other system software routines to perform the requested I/O operations. For code (such as a device driver) that does directly access memory-mapped I/O locations, there are a number of compatibility issues. In some cases, the 680x0 emulation environment might not perform some write operations that a real 680x0 performs: 
  560. n    The BSET and BCLR instructions might not write back an operand if none of the bits were changed as a result of the operation.
  561. n    Some memory-to-memory MOVE instructions might not write to memory if the source and destination addresses are the same.
  562. You might need to modify your application to use different sequences of instructions to perform the operations if an I/O device was expecting these write bus cycles.
  563. The TAS, CAS, and CAS2 instructions in the 68040 instruction set perform indivisible read, modify, and write memory operations. The 68040 bus architecture provides a special locked bus cycle for a read-and-write operation without allowing any other devices to request the bus between them. These indivisible bus cycles cannot be emulated. As a result, an alternate bus master type of I/O device might be allowed to modify a memory location between the read and the write operations.
  564. The 68020 and 68030 bus interface supports a feature called dynamic bus sizing that allows 8- or 16-bit-wide I/O devices to work with the 32-bit-wide data bus. If the processor has a memory request for a data width that was larger than the data width of the device connected to the bus, the memory interface breaks the request into multiple requests that are the width of the device. For example, if a 32-bit read request is made to an 8-bit device, the memory interface actually performs four separate 8-bit reads to assemble the 32-bit data. This feature cannot be emulated. Any application or other software that depends upon this feature must to be modified to use separate instructions to access and assemble each piece of data.
  565. The 68020 and 68030 bus interface also supports a feature called byte smearing that allows 8- or 16-bit data to be duplicated on a write operation across all 32 bits of the 
  566. data bus. The 68040 processor does not support this feature. This feature cannot be emulated, but solutions that were used for the 68040 should be compatible with the 68LC040 Emulator.
  567. The 68020, 68030, and 68040 microprocessors define the NOP instruction as having the effect of synchronizing the pipeline and waiting for all prior bus operations to complete. The 68020 and 68030 have a very small pipeline, and bus operations normally finish 
  568. soon after they are issued. However, the 68040 and the PowerPC architecture let memory operations be queued and issued out of order. Because of this, the NOP instruction 
  569. might be needed to ensure that accesses to memory-mapped I/O devices occur in the proper order. The 68LC040 Emulator supports the features of the NOP instruction. 
  570. Any application that includes NOP instructions should be compatible with all Macintosh computers.
  571. If an I/O device causes a bus timeout that results in a bus error exception, it might not 
  572. be possible for the PowerPC microprocessor—and therefore the 68LC040 Emulator—
  573. to determine the memory address that was accessed. If all locations within a 4 KB 
  574. I/O page consistently time out, this problem might not occur, but if accesses to some locations within a page sometimes succeed, it is possible for this situation to occur. 
  575. A bus error exception is generated in that case, but the Data Fault Address field in 
  576. the exception frame will not be accurate and the DF bit in the SSW will not be set.
  577.  
  578.  
  579. Mixed Mode
  580.  
  581. An instruction set architecture is the set of instructions recognized by a particular processor or family of processors. The Mixed Mode Manager is the part of the Macintosh system software that manages mode switches between code in different instruction set architectures, switching the execution context between the CPU’s native PowerPC context and the 68LC040 Emulator. The 68LC040 Emulator is responsible for handling all code in the 680x0 instruction set. This includes existing 680x0 applications, device drivers, system extensions, and even parts of the system software itself that have not yet been rewritten to use the PowerPC instruction set.
  582. Mode switches are required not only when the user switches from an emulated to a native application (or vice versa), but also when any application calls a system software routine or any other code that exists in a different instruction set. For example, the Memory Manager has been reimplemented in the first version of system software for PowerPC processor-based Macintosh computers as native PowerPC code. When an existing 680x0 application running under the 68LC040 Emulator calls a Memory Manager routine such as NewHandle, a mode switch is required to move out of the emulator and into the native PowerPC environment. Then, once the Memory Manager routine completes, another mode switch is required to return to the 68LC040 Emulator and to allow the 680x0 application to continue executing.
  583. Similarly, PowerPC applications cause mode switches whenever they invoke routines that exist only as 680x0 code. For example, if a PowerPC application calls a part of 
  584. the Macintosh Toolbox or Operating System that has not been ported native, a mode 
  585. switch is required to move from the native environment to the environment of the 68LC040 Emulator.
  586. The Mixed Mode Manager exists solely to manage these kinds of mode switches. It makes it possible for the execution environment of PowerPC processor-based Macintosh computers to accommodate a mixture of 680x0 applications, PowerPC applications, 680x0 system software, PowerPC system software, 680x0 executable resources, PowerPC executable resources, 680x0 device drivers, PowerPC device drivers, and so forth. The 68LC040 Emulator and the Mixed Mode Manager together allow both 680x0 code and PowerPC code to execute on the PowerPC microprocessor.
  587. The Mixed Mode Manager is designed to hide, as much as possible, the hybrid nature of the mixed environment supported on PowerPC processor-based Macintosh computers. Occasionally, however, some executable code needs to interact directly with the Mixed Mode Manager to ensure that a mode switch occurs at the correct time. Because the 68LC040 Emulator is designed to allow existing 680x0 applications and system software to execute without modification, it’s always the responsibility of native applications 
  588. and system software to implement any changes necessary to interact with the Mixed Mode Manager.
  589. This section describes the basic operation of the Mixed Mode Manager. It shows you how, if you’re writing a native application, you might need to modify your application to make it compatible with the mixed environment of the system software for PowerPC processor-based Macintosh computers. If you use fairly simple techniques for calling code external to your application and use only the standard types of callback routines, the information in this section might be sufficient for your needs. If not, see the chapter “Mixed Mode Manager” in this book for complete information about the Mixed 
  590. Mode Manager.
  591. Cross-Mode Calls
  592.  
  593. The Mixed Mode Manager is intended to operate transparently to most applications and other kinds of software. This means, in particular, that most cross-mode calls (calls 
  594. to code in a different instruction set from the caller’s instruction set) are detected automatically by the Mixed Mode Manager and handled without explicit intervention by the calling software. For instance, when a 680x0 application calls a Memory Manager routine—which, as you have already learned, exists as PowerPC code in the system software for PowerPC processor-based Macintosh computers—the Trap Manager dispatches to the code pointed to by the appropriate entry in the trap dispatch table. For routines that are implemented as native code, the entry in the trap dispatch table is a pointer to a routine descriptor, a data structure used by the Mixed Mode Manager to encapsulate information about a routine. The first field in a routine descriptor is an executable 680x0 instruction that invokes the Mixed Mode Manager. The Mixed Mode Manager handles all the details of switching to the native mode, calling the native code, and then returning to the 68LC040 Emulator. The calling application is completely unaware that any mode switches have occurred.
  595. The operation of the Mixed Mode Manager is also completely transparent when a PowerPC application calls a system software routine that exists as 680x0 code, although the exact details are slightly different. When a native application calls a system soft-
  596. ware routine, the Operating System executes some glue code in an import library of executable code. The glue code inspects the trap dispatch table for the address of the called routine. If the called routine exists only as 680x0 code, the Mixed Mode Manager switches modes and calls the 680x0 routine. When the 680x0 code returns, the Mixed Mode Manager switches back to the native PowerPC environment and the execution of the PowerPC application continues.
  597. Note
  598. See “The PowerPC Native Environment” beginning on page 1-19 
  599. for information about the native execution environment, including import libraries.u
  600. When writing PowerPC code, you need to explicitly intervene in the mode-switching process only when you execute code (or have code executed on your behalf) whose instruction set architecture might be different from that of the calling code. For example, whenever you pass the address of a callback routine to the Operating System or Toolbox, it’s possible that the instruction set architecture of the code whose address you are passing is different from the instruction set architecture of the routine you’re passing 
  601. it to. In such cases, you need to explicitly signal the type of code you’re passing and its calling conventions. Otherwise, the Mixed Mode Manager might not be called to make a required mode switch.
  602. To see this a bit more clearly, suppose that you are writing a native PowerPC application that calls the Control Manager procedure TrackControl. TrackControl accepts as one of its parameters the address of an action procedure that is called repeatedly while the user holds down the mouse button in a control. TrackControl has no way of determining in advance the instruction set architecture of the code whose address you will pass it. Moreover, you have no way of determining in advance the instruction set architecture of the TrackControl procedure, so you cannot know whether your action procedure and the TrackControl procedure are of the same instruction set architecture. As a result, you must explicitly indicate the instruction set architecture of any callback routines whose addresses you pass to the system software.
  603. Routine Descriptors
  604.  
  605. You indicate the instruction set architecture of a particular routine by creating a routine descriptor for that routine. Here is the structure of a routine descriptor.
  606. struct RoutineDescriptor {
  607.     unsigned short                            goMixedModeTrap;                        /*mixed-mode A-trap*/
  608.     char                            version;                        /*routine descriptor version*/
  609.     RDFlagsType                            routineDescriptorFlags;
  610.                                                         /*routine descriptor flags*/
  611.     unsigned long                            reserved1;                        /*reserved*/
  612.     unsigned char                            reserved2;                        /*reserved*/
  613.     unsigned char                            selectorInfo;                        /*selector information*/
  614.     short                            routineCount;                        /*index of last RR in this RD*/
  615.     RoutineRecord                            routineRecords[1];            /*the individual routines*/
  616. };
  617. typedef struct RoutineDescriptor RoutineDescriptor;
  618. As you can see, the first field of a routine descriptor is an executable 680x0 instruction that invokes the Mixed Mode Manager. When the Mixed Mode Manager is called, it inspects the remaining fields of the routine descriptor—in particular the routineRecords field—to determine whether a mode switch is required. The routineRecords field is an array of routine records, each element of which describes a single routine. In the simplest case, the array of routine records contains a single element. Here is the structure of a routine record.
  619. struct RoutineRecord {
  620.     ProcInfoType                            procInfo;                        /*calling conventions*/
  621.     unsigned char                            reserved1;                        /*reserved*/
  622.     ISAType                            ISA;                        /*instruction set architecture*/
  623.     RoutineFlagsType                            routineFlags;                        /*flags for each routine*/
  624.     ProcPtr                            procDescriptor;                        /*the thing we're calling*/
  625.     unsigned long                            reserved2;                        /*reserved*/
  626.     unsigned long                            selector;                        /*selector for dispatched calls*/
  627. };
  628. typedef struct RoutineRecord RoutineRecord;
  629. typedef RoutineRecord *RoutineRecordPtr, **RoutineRecordHandle;
  630. The most important fields in a routine record are the procInfo field and the ISA field. The ISA field encodes the instruction set architecture of the routine being described. It must always contain one of these two constants:
  631. enum {
  632.     kM68kISA                        = (ISAType)0,                        /*MC680x0 architecture*/
  633.     kPowerPCISA                        = (ISAType)1                        /*PowerPC architecture*/
  634. };
  635. The procInfo field contains the routine’s procedure information, which encodes 
  636. the routine’s calling conventions and information about the number and location of 
  637. the routine’s parameters. For the standard kinds of callback procedures and other 
  638. types of “detached” code, the universal interface files include definitions of procedure information. For example, the C language interface file Controls.h includes 
  639. this definition:
  640. enum {
  641.     uppControlActionProcInfo = kPascalStackBased
  642.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(ControlHandle)))
  643.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short)))
  644. };
  645. This procedure information specification indicates that a control action procedure follows standard Pascal calling conventions and takes two stack-based parameters, 
  646. a control handle and a part code; the action procedure returns no result. Similarly, the 
  647. file Controls.h defines the procedure information for a control definition function 
  648. as follows:
  649. enum {
  650.     uppControlDefProcInfo = kPascalStackBased
  651.          | RESULT_SIZE(SIZE_CODE(sizeof(long)))
  652.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
  653.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ControlHandle)))
  654.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short)))
  655.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long)))
  656. };
  657. You can create a routine descriptor by calling the Mixed Mode Manager function NewRoutineDescriptor, as shown in Listing 1-1.
  658. Listing 1-1    Creating a routine descriptor
  659.  
  660. UniversalProcPtr myActionProc;
  661. myActionProc = NewRoutineDescriptor((ProcPtr)MyAction, 
  662.                                                 uppControlActionProcInfo, 
  663.                                                 GetCurrentISA());
  664. Here, MyAction is the address of your control action procedure and GetCurrentISA 
  665. is a C language macro that returns the current instruction set architecture. When executed in the PowerPC environment, the NewRoutineDescriptor function creates 
  666. a routine descriptor in your application heap and returns the address of that routine descriptor. When executed in the 680x0 environment, the NewRoutineDescriptor function simply returns its first parameter. Notice that the result returned by 
  667. the NewRoutineDescriptor function is of type UniversalProcPtr. A universal procedure pointer is defined to be either a 680x0 procedure pointer or a pointer to a routine descriptor, essentially as follows:
  668. #if !USESROUTINEDESCRIPTORS
  669. typedef ProcPtr UniversalProcPtr, *UniversalProcHandle;
  670. #else
  671. typedef RoutineDescriptor *UniversalProcPtr, **UniversalProcHandle;
  672. #endif
  673. Once you’ve executed the code in Listing 1-1 (probably at application launch time), you can later call TrackControl like this:
  674. TrackControl(myControl, myPoint, myActionProc);
  675. If your application is a PowerPC application, the value passed in the gActionProc parameter is not the address of your action procedure itself, but the address of the routine descriptor created in Listing 1-1. When a 680x0 version of TrackControl executes your action procedure, it begins by executing the instruction contained in the first field of the routine descriptor. That instruction invokes the Mixed Mode Manager, which inspects the instruction set architecture of the action routine (contained in the ISA field of the routine record contained in the routine descriptor). If that instruction set architecture differs from the instruction set architecture of the TrackControl routine, the Mixed Mode Manager causes a mode switch. Otherwise, if the two instruction set architectures are identical, the Mixed Mode Manager simply executes the action procedure without switching modes.
  676. In short, you solve the general problem of indicating a routine’s instruction set archi-
  677. tecture by creating routine descriptors and by using the addresses of those routine descriptors where you would have used procedure pointers in the 680x0 programming environment. You have to do this, however, only when you need to pass the address of a routine to some external piece of code (such as the Toolbox or Operating System or some other application) that might be in a different instruction set architecture from that of the routine. There are quite a number of cases in which you pass procedure pointers to the system software and which therefore require you to use the techniques illustrated above for Control Manager action procedures. Some of the typical routines you need to create routine descriptors for include
  678. n    grow-zone functions
  679. n    control action procedures
  680. n    event filter functions
  681. n    VBL tasks
  682. n    Time Manager tasks
  683. n    trap patches
  684. n    completion routines
  685. The interface files for the PowerPC system software have been revised to change 
  686. all references to parameters or fields of type ProcPtr to references of type UniversalProcPtr. In addition, these new universal interface files contain procedure information definitions for all the standard kinds of callback routines. Moreover, the universal interface files define new routines that you can use in place of the more general code shown in Listing 1-1 on page 1-17. For example, the interface file Controls.h contains the definition shown in Listing 1-2 for the NewControlActionProc function.
  687. Listing 1-2    The definition of the NewControlActionProc routine
  688.  
  689. typedef UniversalProcPtr ControlActionUPP;
  690. #define NewControlActionProc(userRoutine) \
  691.     (ControlActionUPP) NewRoutineDescriptor((ProcPtr)userRoutine, \
  692.     uppControlActionProcInfo, GetCurrentISA())
  693. Because this routine is defined in the universal header files, you can replace the code in Listing 1-1 with the simpler code shown in Listing 1-3.
  694. Listing 1-3    Creating a routine descriptor for a control action procedure
  695.  
  696. ControlActionUPP myActionProc;
  697. myActionProc = NewControlActionProc((ProcPtr)MyAction);
  698. In general, you should use the specific routines defined throughout the universal header files instead of the general technique illustrated in Listing 1-1.
  699. IMPORTANT
  700. You do not need to create routine descriptors for routines that are called only by your application. More generally, if you know for certain that a routine is always called by code of the same instruction set architecture, you can and should continue to use procedure pointers instead of universal procedure pointers. If, however, the address of one of your application’s routines might be passed to a Toolbox or Operating System routine, you should make sure to use a routine descriptor.s
  701. Memory Considerations
  702.  
  703. The technique described in the previous section for using routine descriptors is by far the simplest and easiest to implement: any routine descriptors needed by an application are allocated in the application heap at application launch time. The descriptors remain allocated until the application terminates, at which time the entire application heap is reclaimed by the Process Manager. As a result, you don’t have to dispose of any routine descriptors created in this way.
  704. If, in some case, you know that you won’t be needing a routine descriptor any more during the execution of your application, you can explicitly dispose of it by calling 
  705. the DisposeRoutineDescriptor function. This is most useful when you allocate a routine descriptor for temporary use only. For example, you might call some code that uses a callback procedure only very infrequently. In that case you can allocate the routine descriptor when the code is called and then release it when the code is done.
  706. Finally, you can create a routine descriptor on the stack if you intend to use it only within a single procedure. The Mixed Mode Manager interface file MixedMode.h defines the C language macro BUILD_ROUTINE_DESCRIPTOR that you can use for this purpose, as well as for initializing static routine descriptors. For details, see “Using Static Routine Descriptors” on page 2-22 in the chapter “Mixed Mode Manager” in this book.
  707.  
  708. The PowerPC Native Environment
  709.  
  710. A run-time environment is a set of conventions that determine how code is loaded into memory, where data is stored and how it is addressed, and how functions call other functions and system software routines. The run-time environment available on a specific Macintosh computer is determined jointly by the Macintosh system software (which manages the loading and scheduling of executable code) and your software development system (which generates code to conform to the documented run-time conventions).
  711. The run-time environment for native PowerPC code is significantly different from the run-time environment for 680x0 code with which you are probably already familiar. 
  712. In general, however, the PowerPC run-time environment is both simpler and more powerful than the 680x0 run-time environment. This increased simplicity and power 
  713. are due primarily to the use of fragments as the standard way of organizing executable code and data in memory. In the native PowerPC run-time environment, all discrete collections of executable code—including applications, code resources, extensions, and even the system software itself—are organized as fragments when loaded into memory. Accordingly, all executable code shares the benefits that derive from the organization of fragments, including
  714. n    a uniform set of calling conventions
  715. n    the ability to store code called by many applications or other software in 
  716. import libraries
  717. n    a simplified means of addressing global data
  718. n    the ability to execute special initialization and termination routines when the fragment is loaded into and unloaded from memory
  719. This section describes the run-time environment for applications and other software executing on PowerPC processor-based Macintosh computers. It describes in detail
  720. n    the structure of fragments
  721. n    how to address global code and data
  722. n    subroutine invocation
  723. n    PowerPC stack frames
  724. n    import libraries
  725. n    the organization of memory
  726. IMPORTANT
  727. Keep in mind that the run-time environment defined by the use of fragments might in the future be available on 680x0-based Macintosh computers (and not solely on PowerPC processor-based Macintosh computers). The new run-time environment based on fragments is intended to be as processor independent as possible.s
  728. Fragments
  729.  
  730. In the run-time environment introduced in the first version of the system software for PowerPC processor-based Macintosh computers, the basic unit of executable code and its associated data is a fragment. All fragments share a number of fundamental properties, such as their basic structure and their method of accessing code or data contained in themselves or in other fragments. There are, however, different uses for fragments, just as there are different uses for executable code in the 680x0 environment. Fragments can be loosely differentiated into three categories, based on how they 
  731. are used.
  732. n    An application is a fragment that can be launched by the user from the Finder (which calls the Process Manager to do the actual launching), typically to process documents or other collections of information. An application almost always has a user interface and uses standard event-driven programming techniques to control its execution.
  733. n    An import library is a fragment that contains code and data accessed by some other fragment or fragments. The Macintosh system software, for instance, is an import library that contains the code (and data) implementing the Macintosh Toolbox and Operating System routines. When you link an import library with your application, the import library’s code is not copied into your application. Instead, your application contains symbols known as imports that refer to some code or data in the import library. When your application is launched, the system software automatically resolves any imports your application contains and creates a connection to the appropriate import libraries.
  734. n    An extension is a fragment that extends the capabilities of some other fragment. For example, your application might use external code modules like menu definition functions, control definition functions, or data-conversion filters. Unlike import libraries, extensions must be explicitly connected to your application during its execution. There are two types of extensions: application extensions and system extensions. An application extension is an extension that is used by a single application. A system extension is an extension that is used by the Operating System or by multiple applications; it is usually installed at system startup time from a resource of type 'INIT', 'DRVR', or 'CDEV'.
  735. Import libraries and system extensions are sometimes called shared libraries, because the code and data they contain can be shared by multiple clients. Import libraries and system extensions are also called dynamically linked libraries, because the link between your application and the external code or data it references occurs dynamically at application launch time.
  736. The physical storage for a fragment is a container, which can be any kind of object accessible by the Operating System. The system software import library, for example, is stored in the ROM of a Macintosh computer. Other import libraries are typically stored in files of type 'shlb'. The fragment containing an application’s executable code is stored in the application’s data fork, which is a file of type 'APPL'. An extension can 
  737. be stored in a data file or in a resource in some file’s resource fork.
  738. IMPORTANT
  739. In general, it’s best to put an application extension into the data fork of some file (possibly even the application’s data fork itself), not into a resource. There is, however, one notable exception to this rule, namely when the extension is PowerPC code that is intended to operate in the same way as a 680x0 stand-alone code module. See “Executable Resources” on page 1-34 for more information.s
  740. Before the code or data in a fragment can be used, it must be loaded into memory from its container and prepared for execution. This process is usually handled automatically by the Code Fragment Manager, the part of the Macintosh Operating System responsible for loading and preparing fragments. Fragment preparation consists mainly in resolving any imports in the fragment; the Code Fragment Manager searches for another fragment (an import library) that exports the symbols imported by the fragment being loaded. Of course, the import library containing the code or data imported by the first fragment might itself contain imported symbols from yet a third fragment. If so, the Code Fragment Manager needs to load and prepare the third fragment, then the second fragment, and finally the first fragment.
  741. IMPORTANT
  742. In general, the Code Fragment Manager is called by the Operating System in response to a request to load some specific fragment (for example, when the user launches an application). The import libraries used by that fragment are loaded automatically, if the Code Fragment Manager can find them. The Code Fragment Manager usually operates completely transparently, just like the 680x0-based Segment Manager. You need to use the Code Fragment Manager only if your application uses custom application extensions. See the beginning of the chapter “Code Fragment Manager” in this book for details.s
  743. To load fragments into memory from the containers they are stored in, the Code Fragment Manager uses the Code Fragment Loader, a set of low-level services called mainly by the Code Fragment Manager. The Code Fragment Loader is responsible for knowing about container formats, such as PEF and XCOFF. Unless you need to design a new container format, you do not need to use the Code Fragment Loader. Currently, however, the application programming interface to the Code Fragment Loader is private.
  744. The following sections describe the organization and operation of fragments in 
  745. greater detail.
  746. The Structure of Fragments
  747.  
  748. Once a fragment has been loaded into memory and prepared for execution, the code and data it contains are available to itself and to any fragments that import parts of that code and data. The code and data of a particular fragment are loaded into separate sections 
  749. or regions of memory. In general, the code and data sections of a loaded fragment are 
  750. not contiguous with one another in memory. Instead, the data section of a fragment is loaded either into your application’s heap or into the system heap. The code section of a fragment is usually loaded elsewhere in memory. (See “File Mapping” beginning on page 1-53 for details on the location of the code sections of a fragment.) Regardless of where it is loaded, there is no segmentation within a code section of a fragment.
  751. Because every fragment contains both code and data sections, it follows that any code executing in a fragment-based run-time environment—not just application code—can have global variables. (In the 680x0 run-time environment, it’s difficult for some kinds of code to have global variables.) In addition, there is no practical limit on the size of a fragment’s data section. By contrast, the total size of an application’s global variables 
  752. in the 680x0 environment is 32 KB, unless your development system provides special capabilities to exceed that limit.
  753. Fragments created by the currently available linkers contain one section of code and one section of static data (although it’s theoretically possible to have more than one of each type of section). A fragment’s code section must contain pure executable code, that is, code that is independent of the location in memory where it is loaded. Pure code can be loaded anywhere in memory. As a result, it cannot contain any absolute branches. In addition, any references to the fragment’s data must be position-independent: there can be no absolute data addresses in the code. Because the code contained in a fragment’s code section must be pure and position-independent, and because a code section is always read-only, a fragment can be put into ROM or paged directly from an application file. In addition, it’s much easier to share pure code than it is to share impure code. This makes it very easy to implement import libraries as fragments.
  754. A fragment’s data section contains the static data defined by the fragment. An applica-
  755. tion’s data section is typically loaded into the application’s heap. An import library’s data section can be loaded into the system heap or into the heap of any application that uses the import library. Indeed, it’s possible for an import library’s data section to be loaded into memory at multiple locations, thereby creating more than one copy of the data. This is especially useful for providing different applications with their own copy of a library’s data. See “Import Libraries” beginning on page 1-50 for more details on this.
  756. Even though a fragment’s code and data sections can be loaded anywhere in memory, those sections cannot be moved within memory once they’ve been loaded. Part of the process of loading a fragment into memory is to resolve any dependencies it might have upon other fragments. This preparation involves inserting into part of the fragment’s data section a number of pointers to data and code imported by the fragment from 
  757. other fragments, as described in the following section. To avoid having to perform 
  758. this fragment preparation more than once, the Operating System requires that a loaded fragment remain stationary in memory for as long as it is loaded.
  759. Note
  760. In the 680x0 environment, an application’s code can be unloaded (by the Memory Manager) and later reloaded into a different place in memory. This difference in run-time behavior leads to some important restrictions on stand-alone PowerPC code resources (called accelerated resources) that mimic the behavior of existing kinds of 680x0 code resources. See “Executable Resources” beginning on page 1-34 for details. u
  761. Imports and Exports
  762.  
  763. As you’ve seen, a fragment (for example, an application) can access the code and data contained in some other fragment (typically an import library) by importing that code and data. Conversely, an import library can export code and data for use by other fragments (applications, extensions, or even other import libraries). It’s the responsibility of the linker to resolve any imports in your application (or other code fragment) to exports in some import library. The linker generates symbols that contain the name of the exporting library and the name of the exported symbol and inserts those symbols into your linked application.
  764. Figure 1-2 illustrates how the linker resolves imports in an application. The SurfWriter object module contains a number of unresolved symbols. Some of the symbols reference code that is part of the system software contained in the InterfaceLib import library. Other unresolved symbols reference code in the SurfTool import library. The linker resolves those symbols and creates the SurfWriter application, which contains the names of the appropriate import library and function.
  765. Figure 1-2    Creating imports in a fragment
  766.  
  767. When your application is launched, the Code Fragment Manager searches for the linker-generated import symbols and replaces them with the addresses of the imported code or data. To do this successfully, the Code Fragment Manager needs to find the appropriate import library and load it into memory if it isn’t already in memory. Then, it needs to bind the imported symbols in your application to the actual addresses, in the import library, of the imported code or data. Once the loading and binding of import libraries are complete, your application can execute.
  768. Note
  769. When binding imported symbols to external code and data, the Code Fragment Manager ensures that the version of the import library 
  770. used at link time to resolve external symbols is compatible with the version used at fragment loading time. See the chapter “Code Fragment Manager” in this book for a description of this version-checking capability. In general, this all happens transparently to your application or other code.u
  771. It’s possible to designate some of the imports in your application (or other software) as soft. A soft import is an imported symbol whose corresponding code or data might not be available in any import library on the host machine and which is therefore undefined at run time. For example, a particular system software component such as QuickTime might not be available on all Macintosh computers. As a result, if you call QuickTime routines, you should mark all those imports as soft. When the Code Fragment Manager loads and prepares your application, it resolves the soft imports if the QuickTime code and data are available. If the QuickTime code and data aren’t available, the Code Fragment Manager inserts an invalid address (namely, kUnresolvedSymbolAddress) into your fragment’s table of contents entry for any QuickTime routines or data items.
  772. sWARNING
  773. You should always check to see that any imports declared as soft by your software were successfully resolved at load time. Trying to access code or data referenced by an unresolved soft import will cause your software to crash.s
  774. For most system software services, you can use the Gestalt function to determine if the necessary code or data is available in the current operating environment. Note that this is not a new requirement and should not cause you to change your existing source 
  775. code; existing 680x0 software should also call Gestalt to ensure that needed system software services are available. When no Gestalt selector exists to test for the existence of a particular routine or data item, you can check for unresolved soft imports by comparing the address of the import to kUnresolvedSymbolAddress. Listing 1-4 illustrates this technique.
  776. Listing 1-4    Testing for unresolved soft imports
  777.  
  778. extern int printf (char *, ...);
  779. ...
  780. if (printf == kUnresolvedSymbolAddress)
  781.     DebugStr("\printf is not available.");
  782. else
  783.     printf("Hello, world!\n");
  784. See the description of the MakePEF tool in the book Building Programs for Macintosh With PowerPC for exact details on how to specify imports as soft.
  785. The Table of Contents
  786.  
  787. The imported symbols in a fragment are contained in a special area in the fragment’s data section known as the table of contents (TOC). Prior to preparation by the Code Fragment Manager, a table of contents contains unresolved references to code and data in some other fragment. After preparation, the table of contents contains a pointer to each routine or data item that is imported from some other fragment. This provides a means of global addressing whereby a fragment can locate the code or data it has imported from other fragments.
  788. Note
  789. As you can see, the phrase “table of contents” is a slight misnomer, because a fragment’s table of contents does not supply a list of the addresses of routines or data in the fragment itself. Rather, a fragment’s table of contents consists (in part) of the addresses of code and data that the fragment imports, which reside in some other fragment. The table of contents is more akin to a personal address book. A fragment’s table of contents is private to the fragment itself and exists solely to provide external linkage for the code in the fragment.u
  790. A fragment’s table of contents also contains pointers to the fragment’s own static data. Because the code and data sections of a fragment are usually loaded into different locations in memory, and because they must both be position-independent, the code section needs a method of finding its own data, such as data addressed by global variables. Global variables are addressed through the fragment’s table of contents. Within the compiled code of your application, references to global variables appear as indirect references via offsets into the table of contents.
  791. Of course, for this scheme to work, the code section of a fragment needs to know where in memory its TOC begins. The address of the TOC cannot be compiled into the fragment; instead, the address of the TOC of the currently executing fragment is maintained in a register on the microprocessor. Currently, the general-purpose register GPR2 is dedicated to serve as the Table of Contents Register (RTOC). It contains the address in memory of the beginning of the TOC of the currently executing fragment.
  792. It’s easy to see how a code fragment can find its own global data. It simply adds the compiled-in offset of a global variable within the TOC to the address of the TOC contained in the RTOC. The result is the address of a pointer to the desired data.
  793. It’s slightly more complicated to see how a code fragment can execute an external piece of code. As it does with global data, the linker accesses external code via an offset into the TOC. The corresponding address in the TOC, however, is not the address of the piece of external code itself. Instead, the TOC of the calling fragment contains the address—in the static data section of the called fragment—of a transition vector, a data structure that contains two pointers: the address of the routine being called and the address of the called fragment’s TOC. The basic structure of a transition vector is shown in Figure 1-3.
  794. Figure 1-3    A transition vector
  795.  
  796. Note
  797. Strictly speaking, a transition vector can contain any number of pointers, as long as there are at least two. The first pointer is always the address of the routine being called, and the second pointer is always a value to be loaded into GPR2 prior to the execution of that routine. The second pointer in a transition vector can serve any purpose appropriate to the called routine. In the PowerPC environment for Macintosh computers, the second pointer is almost always the TOC address of the fragment containing the called routine. However, the callee is free to use the second pointer in other ways, if this is deemed useful. Your development system’s compiler ultimately determines the size and contents of a transition vector.u
  798. A TOC entry for an external routine points to a transition vector largely so that the calling routine can set up an RTOC with the called fragment’s TOC value. Then, when the called routine exits, the caller restores the RTOC to its original value, pointing to the TOC of the calling fragment. This kind of function call is known as a cross-TOC call. During a cross-TOC call, GPR12 is assumed to point to the transition vector itself; this convention allows the called routine to access any additional fields in the transition vector beyond the first two.
  799. To access data stored in another fragment, there is no need for the caller to install the TOC address of the other fragment in the RTOC. Instead, the TOC entry of the calling fragment contains a pointer to the external data, in exactly the same way that a TOC entry for global data in the same fragment contains a pointer to that data.
  800. In short, a fragment’s table of contents contains
  801. n    one pointer for each imported routine called by the fragment; this pointer is the address of a transition vector in the data section of the import library.
  802. n    one pointer for each external data item used by the fragment; this pointer is the address of the data in the data section of the import library.
  803. n    one pointer for each global variable.
  804. n    one pointer for each pool of C static data internal to the fragment.
  805. Note
  806. Compilers and assembly-language programmers may place additional items in a fragment’s table of contents.u
  807. The size of a fragment’s TOC is determined at the time your source code is compiled 
  808. and linked, but the actual values in the TOC cannot be determined until the fragment 
  809. is loaded and prepared for execution. When the Code Fragment Manager loads a fragment, it also loads any fragments that contain exports used by that fragment; at that 
  810. time, the addresses of those exports can be determined and placed into the original 
  811. fragment’s TOC.
  812. The TOC provides the means whereby a routine in a given fragment can find its own static data and any external routines it calls. In providing access to a fragment’s own data, the TOC is analogous to the A5 world in applications created for the 680x0 run-
  813. time environment. The TOC is more general than the A5 world, however, at least insofar as it allows stand-alone code to have global data; in the 680x0 environment, only applications have an A5 world and its resulting easy access to global data.
  814. The Code Fragment Manager is responsible for dynamically resolving symbols in an unprepared TOC by binding them with their referents. This process involves finding unresolved imported symbols in the TOC, searching for the code or data they refer to, and replacing the symbols with the relevant addresses. This indirection through the TOC gives rise to a number of useful features.
  815. n    Routines external to a fragment can be specified by name, not by address. This allows routines to be grouped into import libraries.
  816. n    Data can be specified by name, not by address.
  817. n    Callback routines can be specified by name, not by address.
  818. n    Initialization and termination routines can be included in a fragment and are executed automatically by the Code Fragment Manager when the fragment is connected and disconnected, respectively.
  819. n    A fragment’s data can be either shared among multiple applications or instantiated separately for each application that uses the fragment. This feature is especially useful for fragments that are import libraries.
  820. n    The Code Fragment Manager can treat two import libraries as a single import library for the purposes of symbol resolution. This feature is especially useful for creating an update library—an import library that contains enhancements or bug fixes for an existing import library.
  821. n    A fragment’s code and data can be loaded anywhere in memory, because the address of a routine or a piece of data is always relative to the address contained in the RTOC.
  822. Notice that TOC entries that point into another fragment always point into the data section of that fragment. This is a consequence of the fact that code is exported only through a transition vector in the fragment’s data section. Code symbols are never exported directly, but only via data symbols.
  823. Because entries in a TOC are addressed using a register value plus an offset, and because offsets are signed 16-bit quantities, a table of contents can be at most 64 KB in size, with at most 16,384 entries. As already noted, current compilers and linkers create only one TOC per fragment. If you need to work with more than 16,384 pointers, you can create one or more import libraries, each of which can itself contain up to 16,384 pointers. As a practical matter, this is not a serious limitation.
  824. Note
  825. Future development tools might not create a TOC at all. The method 
  826. of collecting a fragment’s imported symbols and global data references into a table of contents is independent of the method of packaging code and data into a fragment. A fragment doesn’t need to have a table of contents, but all current development systems that create fragments do in fact create a single table of contents in each fragment.u
  827. Although transition vectors are used primarily for cross-TOC calls (as described above), they are also used for pointer-based function calls. Whenever your application takes the address of a function (even one inside the same fragment), a transition vector is allocated to point to that function. Indeed, all function pointers in PowerPC code are actually pointers to transition vectors. If you are writing in assembly language, you need to be sure to export pointers to transition vectors instead of to actual code.
  828. Special Routines
  829.  
  830. A fragment can define three special symbols that are separate from the list of symbols exported by the fragment. These symbols define an initialization routine, a termination routine, and a main routine (or block of data). These routines, if present, are called at specific times during the loading, unloading, or normal execution of a fragment. A fragment that is an application must define a main symbol that is the application’s entry point. Import libraries and extensions may or may not define any of these symbols.
  831. A fragment’s initialization routine is called as part of the process of loading and preparing the fragment. You can use the initialization routine to perform any actions that should be performed before any of the fragment’s other code or static data is accessed. When a fragment’s initialization routine is executed, it is passed a pointer to a fragment initialization block, a data structure that contains information about the fragment. In particular, the initialization block contains information about the location of the fragment’s container. (For example, if an import library’s code fragment is contained in some file’s data fork, you can use that information to find the file’s resource fork.)
  832. It’s important to know when the initialization routine for a fragment is executed. If the loading and preparation of a fragment cause a (currently unloaded) import library to be loaded in order to resolve imports in the first fragment, the initialization routine of the import library is executed before that of the first fragment. This is obviously what you would expect to happen, because the initialization routine of the first fragment might need to use code or data in the import library. In case there are two import libraries that depend upon each other, their developer may specify which should be initialized first.
  833. A fragment’s termination routine is executed as part of the process of unloading a fragment. You can use the termination routine to undo the actions of the initialization routine or, more generally, to release any resources or memory allocated by the fragment.
  834. Note
  835. See “Fragment-Defined Routines” beginning on page 3-26 in the chapter “Code Fragment Manager” in this book for more information about a fragment’s initialization and termination routines.u
  836. The use of a fragment’s main symbol depends upon the type of fragment containing it. For applications, the main symbol refers to the main routine, which is simply the usual entry point. The main routine typically performs any necessary application initialization not already performed by the initialization routine and then jumps into the application’s main event loop. For import libraries, the main symbol (if it exists) is ignored. For extensions having a single entry point, a main routine can be used instead of an exported symbol to avoid having to standardize on a particular name.
  837. IMPORTANT
  838. In fact, the main symbol exported by a fragment does not have to refer to a routine at all; it can refer instead to a block of data. You can use this fact to good effect with application extensions, where the block of data referenced by the main symbol can contain essential information about the extension. For instance, a loadable tool contained in a fragment might store its name, icon, and other information in that block. The Code Fragment Manager returns the address of the main symbol when you programmatically load and prepare a fragment.s
  839. Fragment Storage
  840.  
  841. As you’ve learned, the physical storage for a fragment is a container. A container can be any logically contiguous piece of storage, such as the data fork of a file (or some portion thereof), the Macintosh ROM, or a resource. In the first version of the system software 
  842. for PowerPC processor-based Macintosh computers, the Code Fragment Loader can recognize two kinds of container formats, the Extended Common Object File Format (XCOFF) and the Preferred Executable Format (PEF).
  843. XCOFF is a refinement of the Common Object File Format (COFF), the standard executable file format on many UNIX®-based computers. XCOFF is supported on Macintosh computers primarily because the early development tools produce executable code in the XCOFF format.
  844. IMPORTANT
  845. Not all object code in the XCOFF format will execute on Macintosh computers. Any XCOFF code that uses UNIX-style memory services or that otherwise depends on UNIX features will not execute correctly on Macintosh computers.s
  846. PEF is an object file format defined by Apple Computer. A container in the PEF format is dramatically smaller than the corresponding container in the XCOFF format. This smaller size reduces both the disk space occupied by the container and the time needed to load the container’s code and data into memory. More importantly, PEF provides support for a fragment’s optional initialization and termination routines and for the version checking performed by the Code Fragment Manager when an import library is connected to a fragment.
  847. As you know, the mixed environment provided by the first version of the system software for PowerPC processor-based Macintosh computers allows the user to run 
  848. both 680x0 and PowerPC applications. The Process Manager needs some method of determining, at the time the user launches an application, what kind of application it is. Because the mixed environment is intended to support existing 680x0 applications unmodified, the Process Manager assumes that an application is a 680x0 application, unless you specifically indicate otherwise. You do this by including, in the resource fork of your PowerPC application, a code fragment resource. This resource (of type 'cfrg' and ID 0) indicates the instruction set architecture of your application’s executable code, as well as the location of the code’s container. Typically, the code and data for a PowerPC application are contained in your application’s data fork, as shown in Figure 1-4.
  849. Figure 1-4    The structure of a PowerPC application
  850.  
  851. If your application contains a code fragment resource, the Process Manager calls the Code Fragment Manager to load and prepare your application’s code and data. If, on the other hand, your application does not contain a code fragment resource, the Process Manager assumes that your application is a 680x0 application; in this case, the Process Manager calls the Segment Manager to load your application’s executable code from resources of type 'CODE' in your application’s resource fork, as illustrated in Figure 1-5.
  852. Figure 1-5    The structure of a 680x0 application
  853.  
  854. Listing 1-5 shows the Rez input for a sample code fragment resource.
  855. Listing 1-5    The Rez input for a sample 'cfrg' resource
  856.  
  857. #include "CodeFragmentTypes.r"
  858. resource 'cfrg' (0) {
  859.     {
  860.         kPowerPC,                                /*instruction set architecture*/
  861.         kFullLib,                                /*no update level for apps*/
  862.         kNoVersionNum,                                /*no implementation version number*/
  863.         kNoVersionNum,                                /*no definition version number*/
  864.         kDefaultStackSize,                                /*use default stack size*/
  865.         kNoAppSubFolder,                                /*no library directory*/
  866.         kIsApp,                                /*fragment is an application*/
  867.         kOnDiskFlat,                                /*fragment is on disk*/
  868.         kZeroOffset,                                /*fragment starts at fork start*/
  869.         kWholeFork,                                /*fragment occupies entire fork*/
  870.         "SurfWriter"                                /*name of the application*/
  871.     }
  872. };
  873. The 'cfrg' resource specification in Listing 1-5 indicates, among other things, that the application consists of PowerPC code, that the code is contained in the application’s data fork, and that the code container occupies the entire data fork. It’s possible to have the container occupy only part of the data fork, if you need to put other information in 
  874. the data fork as well. (Some applications, for instance, put copyright or serial number information in their data fork.) You do this by specifying a nonzero offset for the begin-
  875. ning of the code fragment. Alternatively, you can move the information previously contained in the data fork into one or more resources in your application’s resource fork, thereby reserving the entire data fork for the PowerPC code fragment.
  876. Note
  877. For information about the other fields in a code fragment resource, 
  878. see the chapter “Code Fragment Manager” in this book.u
  879. This recommended placement of an application’s PowerPC code in the data fork makes it easy to create fat applications that contain both PowerPC and 680x0 executable code. A fat application contains 680x0 code in 'CODE' resources in the resource fork and PowerPC code in the data fork, as shown in Figure 1-6.
  880. Figure 1-6    The structure of a fat application
  881.  
  882. The advantage of a fat application is that it can be executed on either 680x0-based or PowerPC processor-based Macintosh computers. The Process Manager on 680x0-based Macintosh computers knows nothing about 'cfrg' resources. As a result, it ignores the code contained in the data fork and uses the code contained in the application’s 'CODE' resources. The Process Manager on PowerPC processor-based Macintosh computers, however, reads the 'cfrg' resource and uses the code in the specified location (usually, the data fork); the 680x0 'CODE' resources in the resource fork are ignored.
  883. Ideally, you should package your application as a fat application, to give your users maximum flexibility in how they manage their working environment. For example, a user might move a storage device (such as a hard disk) containing your application from a 680x0-based Macintosh computer to a PowerPC processor-based Macintosh computer. If your application is fat, it can be launched successfully in either environment.
  884. For various reasons, however, you might decide not to package your application as a 
  885. fat application. If so, you should at the very least include an executable 680x0 'CODE' resource that displays an alert box informing the user that your application runs only on PowerPC processor-based Macintosh computers.
  886. Note
  887. Import libraries also need a code fragment resource, to indicate the location of the container and the appropriate version information. 
  888. See the chapter “Code Fragment Manager” in this book for information about creating a 'cfrg' resource for an import library.u
  889. Executable Resources
  890.  
  891. The Code Fragment Manager is extremely flexible in where it allows fragments to be stored. As you’ve seen, an application’s executable code and global data are typically stored in a container in the application’s data fork. Import libraries supplied as part of the Macintosh system software are often stored in ROM, while import libraries created by third-party developers are usually stored in the data forks of files on disk. It’s also possible to use resources as containers for executable PowerPC code. This section describes how to work with executable resources in the PowerPC environment.
  892. There are two kinds of executable resources you can create that contain PowerPC code: resources whose behavior is defined by the system software (or by some other software) and those whose behavior is defined by your application alone. For present purposes, these two kinds of resources are called accelerated and private resources, respectively.
  893. Note
  894. The terms accelerated and private are used here simply to help distinguish these two kinds of executable resources containing PowerPC code. They are not used elsewhere in this book or in Inside Macintosh.u
  895. First, you can put an executable PowerPC code fragment into a resource to obtain 
  896. a PowerPC version of a 680x0 stand-alone code module. For example, you might recompile an existing menu definition procedure (which is stored in a resource of type 'MDEF') into PowerPC code. Because the Menu Manager code that calls your menu definition procedure might be 680x0 code, a mode switch to the PowerPC environment might be required before your definition procedure can be executed. As a result, you need to prepend a routine descriptor onto the beginning of the resource, as shown in Figure 1-7. These kinds of resources are called accelerated resources because they are faster implementations of existing kinds of resources. You can transparently replace 680x0 code resources by accelerated PowerPC code resources without having to change the software (for example, the application) that uses them.
  897. Figure 1-7    The structure of an accelerated resource
  898.  
  899. Sometimes it’s useful to keep the executable code of a definition function in some location other than a resource. To do this, you need to create a stub definition resource that is of the type expected by the system software and that simply jumps to your code. For example, Listing 1-6 shows the Rez input for a stub list definition resource.
  900. Listing 1-6    Rez input for a list definition procedure stub
  901.  
  902. data 'LDEF' (128, "MyCustomLDEF", preload, locked) {
  903.     /*need to fill in destination address before using this stub*/
  904.     $"41FA 0006"                    /*LEA PC+8, A0                            ;A0 <- ptr to destination address*/
  905.     $"2050"                    /*MOVEA.L (A0), A0                            ;AO <- destination address*/
  906.     $"4ED0"                    /*JMP (A0)                             ;jump to destination address*/
  907.     $"00000000"                    /*destination address*/
  908. };
  909. Your application (or other software) is responsible for filling in the destination address before the list definition procedure is called by the List Manager. For 680x0 code, the destination address should be the address of the list definition procedure itself. For PowerPC code, the destination address should be a universal procedure pointer (that is, the address of a routine descriptor for the list definition procedure).
  910. By contrast, you can create a resource containing executable PowerPC code solely for the purposes of your application (perhaps on analogy with the standard kinds of code-
  911. bearing resources used by the system software). Because these kinds of executable resources do not conform to a calling interface defined by the system software (or by some other widely available software, such as HyperCard), they are called private resources. The code in private resources is called only by your application, not by any other external code. As a result, there is no need to put a routine descriptor onto the beginning of the executable code. Figure 1-8 shows the general structure of a private resource.
  912. Figure 1-8    The structure of a private resource
  913.  
  914. It’s important to understand the distinction between accelerated and private resources, so that you know when to create them and how to load and execute the code they contain. An accelerated resource is any resource containing PowerPC code that has a single entry point at the top (the routine descriptor) and that models the traditional behavior of a 680x0 stand-alone code resource. There are many examples, including menu definition procedures (stored in resources of type 'MDEF'), control definition functions (stored in resources of type 'CDEF'), window definition functions (stored in resources of type 'WDEF'), list definition procedures (stored in resources of type 'LDEF'), HyperCard extensions (stored in resources of type 'XCMD'), and so forth. A private resource is any other kind of executable resource whose code is called directly by your application.
  915. IMPORTANT
  916. IMPORTANT
  917. For several reasons, it’s generally best to avoid using private resources unless you absolutely must put some code into a resource. As you’ll see later (in “File Mapping” on page 1-53), the executable code of a private resource is loaded into your application’s heap and is not eligible for 
  918. file mapping. Whenever possible, you should put executable PowerPC code into your application’s data fork or create your own application-
  919. specific files.s
  920. In most cases, you don’t need to do anything special to get the system software to recognize your accelerated resource and to call it at the appropriate time. For 
  921. example, the Menu Manager automatically loads a custom menu definition procedure into memory when you call GetMenu for a menu whose 'MENU' resource specifies 
  922. that menu definition procedure. Similarly, HyperCard calls code like that shown in 
  923. Listing 1-7 to load a resource of type 'XCMD' into memory and execute the code 
  924. it contains.
  925. Listing 1-7    Using an accelerated resource
  926.  
  927. Handle                myHandle;
  928. XCmdBlock                myParamBlock;
  929.  
  930. myHandle = Get1NamedResource('XCMD', '\pMyXCMD');
  931. HLock(myHandle);
  932.  
  933. /*Fill in the fields of myParamBlock here.*/
  934.  
  935. CallXCMD(&myParamBlock, myHandle);
  936. HUnlock(myHandle);
  937. The caller of an accelerated resource executes the code either by jumping to the code (if the caller is 680x0 code) or by calling the Mixed Mode Manager CallUniversalProc function (if the caller is PowerPC code). In either case, the Mixed Mode Manager calls the Code Fragment Manager to prepare the fragment, which is already loaded into memory. With accelerated resources, you don’t need to call the Code Fragment Manager yourself. In fact, you don’t need to do anything special at all for the system software 
  938. to recognize and use your accelerated resource, if you’ve built it correctly. This is 
  939. because the system software is designed to look for, load, and execute those resources 
  940. in the appropriate circumstances. In many cases, your application passes to the system software just a resource type and resource ID. The resource must begin with a routine descriptor, so that the dereferenced handle to the resource is a universal procedure pointer.
  941. IMPORTANT
  942. IMPORTANT
  943. The MPW interface file MixedMode.r contains Rez templates that you can use to create the routine descriptor that appears at the beginning 
  944. of an accelerated resource. If you want to build the routine descriptor yourself or if you want to build a fat accelerated resource (which contains both PowerPC and 680x0 code), see the section “Executing Resource-Based Code” beginning on page 2-24 in the chapter “Mixed Mode Manager” in this book.s
  945. The code shown in Listing 1-7—or similar code for any other accelerated resource—can be executed multiple times with no appreciable performance loss. If the code resource remains in memory, the only overhead incurred by Listing 1-7 is to lock the code, fill in the parameter block, jump to the code, and then unlock it. However, because of the way in which the system software manages your accelerated resources, there are several key restrictions on their operation:
  946. n    An accelerated resource cannot contain a termination routine, largely because the Operating System doesn’t know when the resource is no longer needed and hence when the resource can be unloaded. The Code Fragment Manager effectively forgets about the connection to your resource as soon as it has prepared the resource for execution.
  947. n    An accelerated resource must contain a main symbol, which must be a procedure. For example, in an accelerated 'MDEF' resource, the main procedure should be the menu definition procedure itself (which typically dispatches to other routines contained in the resource).
  948. n    You cannot call the Code Fragment Manager routine FindSymbol to get information about the exported symbols in an accelerated resource. More generally, you cannot call any Code Fragment Manager routine that requires a connection ID as a parameter. The connection ID is maintained internally by the Operating System and is not available to your application.
  949. n    The fragment’s data section is instantiated in place (that is, within the block of memory into which the resource itself is loaded). For in-place instantiation, you 
  950. need to build an accelerated resource using an option that specifies that the data section of the fragment not be compressed. See the documentation for your soft-
  951. ware development system for instructions on doing this.
  952. Note
  953. If you use the MakePEF tool to help build an accelerated resource, you should specify the -b option to suppress data section compression.u
  954. You might have noticed that the code shown in Listing 1-7 unlocks the 'XCMD' resource after executing it. By unlocking the resource, the caller is allowing it to be moved around in memory or purged from memory altogether. This behavior—which is perfectly acceptable in the 680x0 environment—contradicts the general rule that fragments are not allowed to move in memory after they’ve been loaded and prepared (see page 1-23). To allow accelerated PowerPC resources to be manipulated just like 680x0 code resources, the Mixed Mode Manager and the Code Fragment Manager cooperate to make sure that the code is ready to be executed when it is called. If the resource code hasn’t been moved since it was prepared for execution, then no further action is necessary. If, however, the code resource has moved or been reloaded elsewhere in memory, some of the global data in the resource might have become invalid. For example, a global pointer might become dangling if the code or data it points to has moved. To help avoid dangling pointers, the Code Fragment Manager updates any pointers in the fragment’s data section that are initialized at compile time and not modified at run time. However, the Code Fragment Manager cannot update all global data references in an accelerated resource that has moved in memory. There is, therefore, an important restriction on using global data in accelerated resources:
  955. n    An accelerated resource must not use global pointers (in C code, pointers declared as extern or static) that are either initialized at run time or contained in dynamically allocated data structures to point to code or data contained in the resource itself. An accelerated resource can use uninitialized global data to point to objects in the heap. In addition, an accelerated resource can use global pointers that are initialized at compile time to point to functions, other global data, and literal strings, but these pointers cannot be modified at run time.
  956. Listing 1-8 shows some declarations that can be used in an accelerated resource, provided that the resource code does not change the values of the initialized variables.
  957. Listing 1-8    Some acceptable global declarations in an accelerated resource
  958.  
  959. int a;                    /*uninitialized; not modified if resource moves*/
  960. Ptr myPtr;                    /*uninitialized; not modified if resource moves; */
  961.                     /* can be assigned at run time to point to heap object*/
  962. Handle *h;                    /*uninitialized; not modified if resource moves; */
  963.                     /* can be assigned at run time to point to heap object*/
  964. int *b = &a;                                            /*updated each time resource moves*/
  965. char *myStr = "Hello, world!";                                            /*updated each time resource moves*/
  966. extern int myProcA(), myProcB();
  967. struct {
  968.     int        (*one)();
  969.     int         (*two)();
  970.     char        *str;
  971. } myRec = {myProcA, myProcB, "Hello again!"};
  972.                     /*all three pointers are updated each time resource moves*/
  973. Listing 1-9 shows some data declarations and code that will not work in an accelerated resource that is moved or purged.
  974. Listing 1-9    Some unacceptable global declarations and code in an accelerated resource
  975.  
  976. int a;
  977. int *b;
  978. int *c = &a;
  979. Ptr (*myPtr) (long) = NewPtr;
  980. static Ptr MyNewPtr();
  981. struct myHeapStruct {
  982.     int            *b;
  983.     Ptr            (myPtr) (long);
  984. } *hs;
  985.  
  986. b = &a;                    /*b does not contain &a after resource is moved*/
  987. c = NULL;                    /*c does not contain NULL after resource is moved*/
  988. c = (int *) NewPtr(4);                                    /*dangling pointer after resource is moved*/
  989. myPtr = MyNewPtr;                                    /*dangling pointer after resource is moved*/
  990. hs = NewPtr(sizeof(myHeapStruct));
  991.                     /*hs still points to nonrelocatable heap block after move*/
  992. hs->b = &a;                    /*hs->b will not point to global a after move*/
  993. hs->myPtr = MyNewPtr;
  994.                     /*hs->myPtr will not point to MyNewPtr after move*/
  995. Note that a code fragment stored as an accelerated resource can import both code and data from an import library. The code and data in the import library do not move in memory. As a result, you can sidestep the restrictions on global data in an accelerated resource by putting the global data used by the accelerated resource into an import library. The import library is unloaded only when your application terminates, not when the accelerated resource is purged.
  996. To load and prepare a private resource, you need to call the Resource Manager, Memory Manager, and Code Fragment Manager explicitly, as shown in Listing 1-10.
  997. Listing 1-10    Using a private resource
  998.  
  999. Handle                    myHandle;
  1000. OSErr                    myErr;
  1001. ConnectionID                    myConnID;
  1002. Ptr                    myMainAddr;
  1003. Str255                    myErrName;
  1004.  
  1005. myHandle = Get1NamedResource('RULE', '\pDeM');
  1006. HLock(myHandle);
  1007. myErr = GetMemFragment(*myHandle, GetHandleSize(myHandle), 
  1008.                 '\pDeM', kLoadNewCopy, &myConnID, (Ptr*)&myMainAddr, 
  1009.                 myErrName);
  1010.  
  1011. /*Call the code in here.*/
  1012.  
  1013. myErr = CloseConnection(myConnID);
  1014. HUnlock(myHandle);
  1015. None of the restrictions on accelerated resources listed above applies to your own private code-bearing resources. For instance, you do have access to the connection ID 
  1016. to the resource-based fragment (as you can see in Listing 1-10), so you can call Code Fragment Manager routines like CloseConnection and FindSymbol. However, the overhead involved in loading the code fragment and later unloading it is nontrivial, 
  1017. so you should avoid closing the connection to a private resource (that is, calling CloseConnection) until you’re done using it.
  1018. Because a private resource is just a fragment stored in a resource, it’s preferable to 
  1019. avoid using private resources, whenever possible, by putting that code and data into some file. By doing this, you gain the benefits afforded by the system software to file-
  1020. based fragments (such as file mapping directly from the file’s data fork). You should use private executable resources only in cases where your code absolutely must be packaged in a resource.
  1021. Calling Conventions
  1022.  
  1023. The software development tools and the system software for PowerPC processor-based Macintosh computers dictate a set of calling conventions that are significantly different from those you might be used to in the 680x0 execution environment. The new calling conventions are designed to reduce the amount of time required to call another piece of code and to simplify the entire code-calling process. In the 680x0 environment, there are many ways for one routine to call another, depending on whether the called routine conforms to Pascal, C, Operating System, or other calling conventions. In the PowerPC environment, there is only one standard calling convention, having these features:
  1024. n    Most parameters are passed in registers dedicated for that purpose. The large number of general-purpose and floating-point registers makes this goal quite easy to achieve. Parameters are passed on the stack only when they cannot be put into registers.
  1025. n    The size of a stack frame is determined at compile time, not dynamically at run time.
  1026. n    Stack frames are subject to a strict set of rules governing their structure. The new run-time architecture reserves specific areas of a stack frame for saved registers, local variables, parameters, and stack frame linkage information (such as the return address and the beginning of the previous stack frame).
  1027. The following sections describe these differences in greater detail. They begin by reviewing the procedure calling conventions that exist on 680x0-based Macintosh computers. Then they describe the calling conventions adopted for PowerPC processor-based Macintosh computers and show how those conventions affect the organization of the stack.
  1028. IMPORTANT
  1029. The information in the following sections is provided primarily for debugging purposes or for compiler writers and assembly-language programmers, who need to conform to the new calling conventions. Because generating code conforming to these conventions is handled automatically by your compiler, you might not need this information 
  1030. for writing applications in a high-level language.s
  1031. The 680x0 Calling Conventions
  1032.  
  1033. To appreciate how different the PowerPC calling conventions are from the 680x0 calling conventions, it’s useful to review the model used on 680x0-based Macintosh computers. On 680x0-based computers, there is a conventional grow-down stack whose parts are delimited by two pointers: a stack pointer and a frame pointer. Figure 1-9 illustrates a typical 680x0 stack frame.
  1034. Figure 1-9    A 680x0 stack frame
  1035.  
  1036. Note
  1037. By convention, the stack grows from high memory addresses toward low memory addresses. The end of the stack that grows or shrinks is usually referred to as the “top” of the stack, even though it’s actually at the lower end of memory occupied by the stack.u
  1038. The stack pointer (SP) points to the top of the stack and defines its current downward limit. All operations that push data onto the stack or pop data off it do so by reading and then modifying the stack pointer. The Operating System uses the 680x0 register A7 as the stack pointer.
  1039. The frame pointer (FP) points to the base in memory of the current stack frame, the area of the stack used by a routine for its parameters, return address, local variables, and temporary storage. Because the Operating System maintains the frame pointer, it can easily find the beginning of the stack frame when it’s time to pop it off the stack. The Operating System uses the 680x0 register A6 as the frame pointer.
  1040. A routine’s parameters are always placed on the stack above the frame pointer, and its local variables are always placed below the frame pointer. The 680x0 hardware enforces 16-bit alignment for parameters on the stack. So, for example, if you push a single byte onto the stack, the stack pointer is decremented by 2 bytes rather than 1.
  1041. The order of the parameters on the stack differs according to the language type of the called routine. When you call a C routine on a 680x0-based Macintosh computer, the parameters are pushed onto the stack in order from right to left. This order is dictated by the fact that the C language allows routines with a variable number of parameters. The first parameter (which often indicates how many parameters are being passed) must always be pushed onto the stack last, so that it resides at a fixed offset from the frame pointer. Moreover, because only the caller knows how many parameters it pushed onto the stack, it is always the caller’s responsibility to pop the parameters off the stack. Finally, with C routines, a function result is returned in register D0 (or, for floating-point results, in register FPR0). However, structures and other large values are handled differently: the caller allocates space for the result and passes a pointer to that storage as the first (that is, leftmost) parameter.
  1042. The calling conventions for Pascal routines are different from those for C routines. For Pascal routines, the caller pushes space for the return result onto the stack before pushing the parameters. The caller pushes parameters onto the stack from left to right. Because Pascal does not allow routines with a variable number of parameters, the size of a stack frame can be determined at compile time. It is therefore the responsibility of the called routine to remove the parameters from the stack before returning.
  1043. Note
  1044. These differences between C and Pascal are due entirely to 
  1045. historical factors, not to any requirements of the 680x0 
  1046. environment. It would have been possible for Pascal routines 
  1047. to follow the C calling conventions.u
  1048. There are still other calling conventions followed on 680x0-based Macintosh computers. Macintosh Toolbox managers generally follow Pascal conventions, although some of the most recent additions to the Toolbox follow C conventions. More importantly, the Macintosh Operating System typically ignores the stack altogether. Instead, Operating System calls generally pass parameters and return results in registers.
  1049. The PowerPC Calling Conventions
  1050.  
  1051. The native run-time environment on PowerPC processor-based Macintosh computers uses a set of uniform calling conventions:
  1052. n    Parameters are processed from left to right and are placed into general-purpose registers GPR3 through GPR10 and (when necessary) floating-point registers FPR1 through FPR13.
  1053. n    Function results are returned in GPR3, FPR1, or by passing a pointer to a structure as the implicit leftmost parameter (as in the 680x0 C implementation).
  1054. n    Any parameters that do not fit into the designated registers are passed on the stack. In addition, enough space is allocated on the stack to hold all parameters, whether they are passed in registers or not.
  1055. Like the 680x0 run-time environment, the PowerPC run-time environment uses a grow-
  1056. down stack that contains areas for a routine’s parameters, for linkage information, and for local variables. However, the organization of the stack in the PowerPC environment is significantly different from that in the 680x0 environment. The PowerPC run-time environment uses a single stack pointer and no frame pointer. To achieve this simplifica-
  1057. tion, the PowerPC stack has a much more rigidly defined structure than does the stack in the 680x0 environment. Figure 1-10 illustrates the general structure of the stack in the PowerPC environment.
  1058. Figure 1-10    The PowerPC stack
  1059.  
  1060. The caller’s stack frame includes a parameter area and some linkage information. The parameter area in each stack frame is used by the caller to hold the parameters of any routines the caller calls (not the parameters of the caller itself). Of course, a given routine might in turn call several other routines; if so, the parameter area in the caller’s stack frame is made large enough to accommodate the largest parameter list of all routines the caller calls. It is the caller’s responsibility to set up the parameter area before each call to some other routine, and the callee’s responsibility to access its parameters from that parameter area. See the following section, “Parameter Passing” on page 1-47, for details on the structure of a routine’s parameter area.
  1061. Once the caller has set up the parameters for a call to some other routine, it then stores its own RTOC value in its linkage area, an area of the caller’s stack frame that holds the saved stack pointer, Condition Register (CR), Link Register (LR), and RTOC values. It is necessary to save the caller’s RTOC value because the callee might reside in another fragment, a situation that would require that the callee’s RTOC value be installed in the RTOC. The caller always restores its RTOC value immediately upon return from the callee. The callee’s prolog writes the saved Condition Register and Link Register into the caller’s linkage area. The structure of a linkage area is illustrated in Figure 1-11.
  1062. IMPORTANT
  1063. The RTOC value is saved and restored only for two kinds of subroutine calls: cross-TOC calls and pointer-based calls. In all other cases, the RTOC field of the caller’s linkage area is ignored.s
  1064. Figure 1-11    The structure of a stack frame’s linkage area
  1065.  
  1066. Notice that the linkage area always appears at the “top” of the stack, adjacent to the stack pointer. This positioning is necessary to allow the caller to find and restore the values saved there, and to allow the callee to find the caller’s parameter area. One consequence of this requirement, however, is that a routine cannot push and pop arbitrary values on the stack after a stack frame is set up.
  1067. A PowerPC stack frame also includes space for the callee’s local variables. In general, the general-purpose registers GPR13 through GPR31 and the floating-point registers FPR14 through FPR31 are reserved for a routine’s local variables. If a particular routine has more local variables than fit entirely into the registers reserved for them, it uses addi-
  1068. tional space on the stack. The size of the area used for local variables is determined at compile time; once a stack frame is allocated, the area for local variables cannot grow 
  1069. or shrink.
  1070. The callee is responsible for allocating its own stack frame, making sure to preserve 8-byte alignment on the stack. The callee allocates its stack frame by decrementing the stack pointer, then writes the previous stack pointer into its own linkage area and saves all nonvolatile general-purpose and floating-point registers into the saved registers area of its stack frame. All of these actions are performed by a standard piece of compiler-generated code called the prolog.
  1071. Note
  1072. Note
  1073. The order in which the callee’s prolog performs these actions is determined by convention, not by any requirements of the PowerPC run-time architecture. Also, the callee saves only those nonvolatile registers it uses; if the callee doesn’t change a particular nonvolatile register, it doesn’t bother to save and restore it.u
  1074. When the callee exits, its epilog code restores the nonvolatile registers that its prolog previously saved. The Link Register and Condition Register are restored from the linkage area in the caller’s stack frame. The nonvolatile general-purpose registers (namely, GPR13 through GPR31) and floating-point registers (namely, FPR14 through FPR31) are restored from the saved register area in the callee’s stack frame. The RTOC value of the caller is, however, restored by the caller immediately upon return from the called routine.
  1075. There is one special case in which a callee’s stack usage does not conform to the structure shown in Figure 1-10—namely, when the callee is a leaf procedure. A leaf procedure 
  1076. is a procedure that calls no other procedures. Because it doesn’t call any procedures, 
  1077. it doesn’t need to allocate a parameter area on the stack. If, in addition, a leaf procedure doesn’t need to use the stack for any local variables, it needs to save and restore only those nonvolatile registers that it uses for local parameters.
  1078. Leaf procedures, due to their limited stack requirements, can use a special area on the stack called the Red Zone. The Red Zone is the area just below the stack pointer, in the area where a new stack frame normally would be allocated (see Figure 1-12). Because by definition only one leaf procedure can be active at any time, there is no possibility of multiple leaf procedures competing for the same Red Zone space.
  1079. Figure 1-12    The Red Zone
  1080.  
  1081. It’s important to realize that a leaf procedure doesn’t actually allocate a stack frame for itself and that it doesn’t decrement the stack pointer. Instead, it stores its LR and CR values in the linkage area of the routine that calls it (if necessary) and stores the values 
  1082. of any nonvolatile registers it uses in the Red Zone. As a result, the epilog of a leaf procedure doesn’t need to tear down a stack frame. Instead, the epilog needs at most to restore the calling routine’s LR and CR values. This allows leaf procedures to execute faster than they would if they had to set up and later tear down a complete stack frame.
  1083. Note
  1084. A leaf procedure uses the Red Zone in place of a stack frame only when your code is compiled with speed optimization enabled.u
  1085. Using the Red Zone in this way can, however, cause problems for native exception handlers, because an exception handler cannot know in advance if a leaf procedure is executing at the time the exception occurs (and hence cannot know if the Red Zone contains information that should be preserved). A native exception handler must therefore decrement the stack pointer by 224 bytes (the largest possible register save area) before using the stack, to skip over any Red Zone that might currently be in use.
  1086. Note
  1087. The value 224 is the space occupied by nineteen 32-bit general-purpose registers plus eighteen 64-bit floating-point registers, rounded up to the nearest 8-byte boundary. If a leaf procedure’s Red Zone usage would exceed 224 bytes, then the leaf procedure is forced to use a stack frame, like any other procedure.u
  1088. In general, you should use the new Exception Manager to install any native exception handlers your application or other software defines. The Exception Manager automati-
  1089. cally adjusts the stack pointer before calling your exception handler and then restores it after your handler exits. See the chapter “Exception Manager” in this book for complete details on writing and installing a native exception handler.
  1090. IMPORTANT
  1091. The calling conventions and stack usage described in this section are those of the PPCC compiler and the Macintosh Operating System. Other compilers may employ different calling conventions.s
  1092. Parameter Passing
  1093.  
  1094. In the PowerPC run-time environment, as you’ve already learned, parameters are usually passed from a caller to a callee in registers. The fact that there are many general-
  1095. purpose and floating-point registers dedicated for parameter passing makes it extremely likely that all of a subroutine’s parameters can be passed in registers. Passing parameters in registers reduces the number of memory accesses required (namely, to read the stack frame) and thereby increases the performance of your software.
  1096. Any parameters that cannot be passed in registers are instead passed in the parameter area of the caller’s stack frame. This section describes the way in which a caller prepares the registers and the parameter area for the callee.
  1097. IMPORTANT
  1098. You need the information in this section only for machine-level debugging purposes, to understand the contents of the general-purpose and floating-point registers and the structure of the parameter area in a caller’s stack frame.s
  1099. The compiler assigns parameters to registers and to the parameter area in the caller’s stack frame according to this algorithm:
  1100. n    The parameters are arranged in order as if they were fields of a record.
  1101. n    The leftmost parameter is the first field.
  1102. n    Each field is aligned on a 32-bit word boundary.
  1103. n    Integer parameters occupying less than 32 bits are extended to 32 bits.
  1104. n    Some parameter values are passed in registers.
  1105. n    The first 8 words are passed in GPR3 through GPR10.
  1106. n    However, the first 13 floating-point parameters are passed in FPR1 through FPR13.
  1107. n    Simple function results are returned in GPR3 or FPR1.
  1108. n    Composite data (that is, custom data structures such as Pascal records or C structures) are passed intact, without expanding the fields to achieve word alignment. When composite data is returned, the caller leaves enough room to hold the result on the stack, puts the address of the result into GPR3, and starts the parameters in GPR4.
  1109. n    Any parameters that do not fit into the available registers are passed in the parameter area of the caller’s stack frame.
  1110. The compiler generates a parameter area in the caller’s stack frame that is large enough to hold all parameters passed to the callee, regardless of how many of the parameters are actually passed in registers. There are several reasons for this scheme. First of all, it provides the callee with space to store a register-based parameter if it wants to use one of the parameter registers for some other purpose (for instance, to pass parameters to a subroutine). In addition, routines with variable-length parameter lists must access their parameters from RAM, not from registers. Finally, code that is built to allow debugging automatically writes parameters from the parameter registers into the parameter area in the stack frame; this allows you to see all the parameters by looking only at that parameter area.
  1111. Consider, for example, a function MyFunction with this declaration:
  1112. void MyFunction (int i1, float f1, double d1, short s1, double d2, 
  1113.                         unsigned char c1, unsigned short s2, float f2, int i2);
  1114. Note
  1115. On the PowerPC processor, integers and long integers are both 32 bits long and short integers are 16 bits long. Variables of type float are 
  1116. 32 bits long; variables of type double are 64 bits long.u
  1117. To see how the parameters of MyFunction are arranged in the parameter area on the stack, first convert the parameter list into a structure, as follows:
  1118. struct params {
  1119.     int                        pi1;
  1120.     float                        pf1;
  1121.     double                        pd1;
  1122.     short                        ps1;
  1123.     double                        pd2;
  1124.     unsigned char                        pc1;
  1125.     unsigned short                        ps2;
  1126.     float                        pf2;
  1127.     int                        pi2;
  1128. };
  1129. This structure serves as a template for constructing the parameter area on the stack. (Remember that, in actual practice, many of these variables are passed in registers; nonetheless, the compiler still allocates space for all of them on the stack, for the reasons just mentioned.)
  1130. The “top” position on the stack is for the field pi1 (the structure field corresponding to parameter i1). The floating-point field pf1 is assigned to the next word in the parameter area. The 64-bit double field pd1 is assigned to the next two words in the parameter area. Next, the short integer field ps1 is placed into the following 32-bit word; the original value of ps1 is in the lower half of the word, and the padding is in the upper half. The remaining fields of the param structure are assigned space on the stack in exactly the same way, with unsigned values being extended to fill each field to a 32-bit word. The final arrangement of the stack is illustrated in Figure 1-13. (Because the stack grows down, it looks as though the fields of the params structure are upside down.)
  1131. Figure 1-13    The organization of the parameter area on the stack
  1132.  
  1133. To see which parameters are passed in registers and which are passed on the stack, you need to map the stack, as illustrated in Figure 1-13, to the available general-purpose and floating-point registers. Registers GPR0 through GPR2, and register FPR0, are reserved for other uses. Therefore, the parameter i1 is passed in GPR3, the first available general-purpose register. The floating-point parameter f1 is passed in FPR1, the first available floating-point register.
  1134. Placing a floating-point parameter into a floating-point register also reserves one or two general-purpose registers, depending on whether the parameter is 32 or 64 bits long. This behavior is dictated in order to support the ability of a C function to call another function without knowing the number or types of the callee’s parameters—that is, without knowing the callee’s prototype. When no function prototype for the callee is available to the caller, the compiler cannot know whether to pass a given parameter 
  1135. in the general-purpose (that is, fixed-point) registers or in the floating-point registers. 
  1136. As a result, the compiler passes the parameter in both the floating-point and the general-
  1137. purpose registers.
  1138. Even when the caller knows the function prototype of the callee, it still reserves one or two general-purpose registers for each floating-point register it fills. The only difference between cases in which the prototype is available and cases in which the prototype isn’t available is that the floating-point parameters are copied into the general-purpose register(s) in the latter cases but not in the former.
  1139. The parameter d1 is placed into FPR2 and the corresponding general-purpose registers GPR5 and GPR6 are masked out. The parameter s1 is placed into the next available general-purpose register, GPR7. Parameter d2 is placed into FPR3, with GPR8 and GPR9 masked out. Parameter c1 is placed into GPR10, thereby exhausting all available general-
  1140. purpose registers. However, parameter f2 is passed in FPR4, which is still available. Notice that there are no general-purpose registers that can be masked out for FPR4; as a result, the parameter f2 is passed both in FPR4 and on the stack. Finally, parameters s2 and i2 must be passed on the stack, because there are no more general-purpose registers to hold them.
  1141. Note
  1142. It would have been possible to pass all the fixed-point values in registers if the floating-point parameters had been grouped at the end of the parameter list.u
  1143. There is a special case that applies to routines that take a variable number of parameters (for example, the C language function printf). The callee doesn’t know how many parameters are being passed to it on any given call. As a result, the callee saves registers GPR3 through GPR10 into the parameter area and then walks through the parameter area to access its parameters. This means that the parameter area must contain at least 
  1144. 8 words.
  1145. Import Libraries
  1146.  
  1147. You’ve already learned (in “Fragments” beginning on page 1-20) how a fragment can import code and data from some other fragment, which is always an import library. Because the code or data that your application references from an import library is not actually contained in your application—but is only linked to it dynamically at application launch time—the executable code of your application is generally much smaller than it otherwise would be. This is one of the main advantages of using import libraries.
  1148. Of course, there’s no particular advantage simply to moving code out of your application and into an import library, because the code in the import library, unless contained in ROM, must be loaded into RAM before it can be used. The real advantages accrue only when two or more applications use the same import library. The library’s code is loaded into RAM only once, and all those applications reference that single code base. If you are developing several PowerPC applications that have parts of their source code in common, you should consider packaging all the shared code into an import library.
  1149. Another important advantage of using import libraries is that it’s easy to update code contained in an import library. You can issue an updated version of your import library and have the changes propagate to all the applications that use that library. You don’t need to update each individual application that uses the import library.
  1150. You can use shared libraries in other useful ways. You can, for instance, create a shared library that holds optional or infrequently executed code. For example, if you’re writing a word-processing application, you might package its spell-checking module as a separate shared library. Because the Code Fragment Manager doesn’t load the library at application launch time, your application uses less RAM and launches more quickly. When the user wants to execute the spelling checker, your application must explicitly load and prepare the shared library by calling Code Fragment Manager routines.
  1151. You can also use shared libraries as a way to allow other developers to add capabilities, such as optional tools, to your application. If you document the format of the parameters passed to an external routine and any other data that you expect to find in an optional tool, other developers can create shared libraries that conform to those specifications.
  1152. As you know, the principal advantage of using import libraries is that the code in the import library is loaded only once in memory, whence it is addressed by all applications (or other fragments) that import that code. The handling of an import library’s data, however, is more complicated. The Code Fragment Manager supports two methods of allocating and using the static data (that is, global variables) in an import library:
  1153. n    Global instantiation. The Code Fragment Manager allocates a single copy of the library’s global data, no matter how many clients use that data.
  1154. n    Per-context instantiation. The Code Fragment Manager allocates one copy of the library’s global data for each separate application (and all other fragments in the application’s context) that uses that data. Each application can access only its own copy of the data. The Operating System automatically keeps track of which copy of the library’s global data is in use by which context. If a given application attempts to load the same import library more than once, it always accesses the same copy of the library’s global data.
  1155. The method of allocating and handling a library’s global data is determined at link time. The library developer can indicate either global or per-context data instantiation for each 
  1156.  
  1157. separate data section in a library. The method selected by the library developer for a particular data section is recorded by the linker in the library itself. In general, it’s best to use one copy of the global data per application.
  1158. It’s also possible to allocate one copy of an extension’s global data for each request to load the extension, even if the same application issues multiple load requests. This type of data instantiation, called per-load instantiation, is available only when you explicitly load a shared library by calling a Code Fragment Manager routine (for example, the GetSharedLibrary function). For example, a communications application might use a shared library to implement a tool for connecting to a serial port. By requesting per-load data instantiation, you can ensure that your tool can connect to two or more serial ports simultaneously by maintaining separate copies of the tool’s data. The tool itself can then be ignorant of how many connections it’s handling.
  1159. The Code Fragment Manager honors the data allocation method recorded in the library for all import libraries that it loads automatically. This method must be either global or per context. To achieve a per-load instantiation of a library’s data or to override the instantiation method recorded in the library, you must load and prepare the library programmatically by calling Code Fragment Manager routines.
  1160. The Organization of Memory
  1161.  
  1162. The organization of memory in the PowerPC run-time environment is reasonably similar to the organization of memory in the 680x0 run-time environment. The system partition occupies the lowest memory addresses, with most of the remaining space allocated to the Process Manager, which creates a partition for each opened application. Moreover, the organization of an application partition in the PowerPC run-time environment is reasonably similar to the organization of an application partition in the 680x0 run-time environment. In each application partition, there are a stack and a heap, as well as space for the application’s global variables.
  1163. There are, however, a number of important differences between the PowerPC and 680x0 environments in regard to how memory is organized, both globally and in each applica-
  1164. tion’s partition. This section describes these differences. It also describes the different data alignment conventions used in each environment and the steps you might need to take to align data so that it can be exchanged between the two environments.
  1165. IMPORTANT
  1166. In general, you need the information in this section only for debugging purposes (for example, to understand where in memory your application’s code section is loaded). You might also need this information to help you determine how large to make your application partition (as specified in your application’s 'SIZE' resource).s
  1167. The two main differences between the 680x0 memory organization and the PowerPC memory organization concern the location of an application’s code section and the location of an application’s global variables. In addition, you need to pay attention to 
  1168. the differing data alignment rules in each environment. 
  1169. File Mapping
  1170.  
  1171. As you know, a PowerPC application’s executable code and global data are typically stored in a fragment container in the application’s data fork. When the application is launched, the code and data sections of that fragment are loaded into memory. The data section is loaded into the application’s heap, as described more fully in the following section. The location of the application’s code section varies, depending on whether or not virtual memory is enabled.
  1172. If virtual memory is enabled, the Virtual Memory Manager uses a scheme called file mapping to map your application’s fragment into memory: the Virtual Memory Manager uses the data fork of your application as the paging file for your application’s code section. In the 680x0 environment, all unused pages of memory are written into a single systemwide backing-store file and reread from there when needed. This often results in a prolonged application launch, because an application’s code is loaded into memory and then sometimes immediately written out to the backing-store file. In the PowerPC environment, this “thrashing” at application launch time is avoided; although the entire code fragment is mapped into the logical address space, only the needed portions of code are actually loaded into physical memory.
  1173. File mapping has additional benefits as well. The Operating System assumes that your application’s code section is always read-only. This means that, when it’s time to remove some of your application’s code from memory (to page other code or data in), the Virtual Memory Manager doesn’t need to write the pages back to the paging file. Instead, it simply purges the code from the needed pages, because it can always read the file-
  1174. mapped code back from the paging file (your application’s data fork).
  1175. IMPORTANT
  1176. Because your application’s code section is marked read-only when virtual memory is enabled, it’s not possible to write self-modifying code that will work on all PowerPC processor-based Macintosh computers.s
  1177. The virtual addresses occupied by the file-mapped pages of an application’s (or an import library’s) code are located outside both the system heap and the Process Manager’s heap. As a result, an application’s file-mapped code is never located in 
  1178. the application heap itself.
  1179. Figure 1-14 illustrates the general organization of memory when virtual memory is enabled. Application partitions (including the application’s stack, heap, and global variables) are loaded into the Process Manager heap, which is paged to and from the systemwide backing-store file. Code sections of applications and import libraries are paged directly from the data fork of the application or import library file. Data sections of import libraries are put into an application’s heap for any per-context instantiations and into the system heap for any global instantiations.
  1180. Figure 1-14    Organization of memory when virtual memory is enabled
  1181.  
  1182. Sometimes, however, parts of your application’s executable code are loaded into your application partition, not into the file-mapped space. This happens, for example, when you store an application extension (like a filter or a tool) as a resource in your applica-
  1183. tion’s resource fork. To make the code in that extension available, you need to call the Resource Manager to load it into your application heap. Then you need to call the Code Fragment Manager to prepare the extension for execution. (See the chapter “Code Fragment Manager” in this book for a more detailed description of this way of executing resource-based code.) Because that code is loaded into your application heap, it isn’t eligible for file mapping (although it is still eligible for normal paging).
  1184. If virtual memory is not enabled, the code section of an application is loaded into the application heap. The Finder and Process Manager automatically expand your applica-
  1185. tion partition as necessary to hold that code section. The code sections of other fragments are put into part of the Process Manager’s heap known as temporary memory. If no temporary memory is available, code sections are loaded into the system heap.
  1186. IMPORTANT
  1187. It’s possible for a fragment’s code section to be loaded into the Process Manager’s heap even when virtual memory is enabled. This happens whenever the fragment resides on a device that cannot be used as a paging device. For example, applications that are located on floppy disks, AppleShare servers, and compact discs cannot be file mapped.s
  1188. Figure 1-15 illustrates the general organization of memory when virtual memory is not enabled. Application partitions (including the application’s stack, heap, and global variables) are loaded into the Process Manager heap. Code sections of applications and import libraries are loaded either into the Process Manager partition or (less commonly) into the system heap. No paging occurs.
  1189. Figure 1-15    Organization of memory when virtual memory is not enabled
  1190.  
  1191. The System Partition
  1192.  
  1193. The system partition in PowerPC processor-based Macintosh computers is organized 
  1194. in essentially the same way as that in system software version 7.1 for 680x0-based computers. To support existing 680x0 applications and other software modules that access documented system global variables, the structure of much of the system partition remains unchanged. Both emulated 680x0 and native PowerPC system software compo-
  1195. nents use and maintain the system global variables. However, some undocumented system global variables have moved, and some have been eliminated altogether.
  1196. The universal header files contain declarations for routines that you can use to access virtually all of the documented system global variables. For example, you can use the routines LMGetCurDirStore and LMSetCurDirStore to get and set the value of the system global variable CurDirStore (which contains the directory ID of the current directory). LMGetCurDirStore is declared essentially as follows:
  1197. #if USESCODEFRAGMENTS
  1198. extern long LMGetCurDirStore(void);
  1199. #else
  1200. #define LMGetCurDirStore() (* (long *) 0x0398)
  1201. #endif
  1202. In any environment that uses code fragments, the function LMGetCurDirStore is defined in the system software import library that is contained in ROM. In all other environments, the function LMGetCurDirStore is defined as a macro that reads the value of the appropriate low-memory address.
  1203. By using the routines provided by the system software, you can insulate your application or other software module from any future changes in the arrangement of low memory.
  1204. Note
  1205. See the MPW interface files for a complete listing of the routines you can use to access the system global variables. You should not use the compiler flag USESCODEFRAGMENTS in your source code; if you need to know whether the Code Fragment Manager is available, you can call the Gestalt function with the selector gestaltCFMAttr.u
  1206. The only other case in which your application might be affected by changes to the system partition concerns the method you use to install exception handlers. In the 680x0 environment, there is no programmatic way to install an exception handler; instead, 
  1207. you simply write the address of your exception handler into the appropriate location 
  1208. in memory (as determined jointly by the kind of exception you want to handle and 
  1209. the value in the microprocessor’s vector base register). A PowerPC application cannot employ this method of installing exception handlers. Instead, the system software for PowerPC processor-based Macintosh computers includes the new Exception Manager, which you should use to install native PowerPC exception handlers. See the chapter “Exception Manager” in this book for details.
  1210. Application Partitions
  1211.  
  1212. The organization of an application partition in the PowerPC environment is substantially simpler than in the 680x0 environment. In particular, the application partition for a PowerPC application consists only of a stack and a heap. The A5 world that occupies part of a 680x0 application partition largely is absent from the PowerPC environment. The information that is maintained in the A5 world for 680x0 applications is either no longer needed by PowerPC applications or is maintained elsewhere (usually in the application heap).
  1213. IMPORTANT
  1214. Any software that makes assumptions about the organization of an application’s A5 world will not work with PowerPC applications. For example, any 680x0 system extensions that modify an application’s jump table will need to be rewritten to work with PowerPC applications.s
  1215. This section describes the new locations for the information in a 680x0 A5 world. Although in general the arrangement of your PowerPC application partition is trans-
  1216. parent to your application, there are some instances (for example, while debugging) 
  1217. in which you might need to know where in your partition information is located. In addition, if your application previously depended on some information being in its 
  1218. A5 world (that is, accessed through the address in the A5 register), you will need to revise it to remove that dependence if you want to recompile your source code into 
  1219. a PowerPC application. More generally, you might need to rewrite any parts of your source code that depend on information being in any of the 680x0 registers.
  1220. Note
  1221. For a more complete explanation of a 680x0 application’s A5 world, 
  1222. see Inside Macintosh: Memory.u
  1223. The A5 world of a 680x0 application contains four kinds of data:
  1224. n    application global variables
  1225. n    application QuickDraw global variables
  1226. n    application parameters
  1227. n    the application’s jump table
  1228. Your 680x0 application’s jump table contains an entry for each of the application’s routines that is called by code in another segment. Because the executable code of a PowerPC application is not segmented, there is no need for a jump table in a PowerPC application partition.
  1229. IMPORTANT
  1230. The available PowerPC compilers ignore any segmentation directives 
  1231. in your source code. In addition, the Segment Manager treats the UnloadSeg procedure as nonoperative.s
  1232. In PowerPC applications, the application global variables are part of the fragment’s data section, which the Code Fragment Manager loads into the application’s heap. The application global variables are always allocated in a single nonrelocatable block and are addressed through a pointer in the fragment’s table of contents.
  1233. The application parameters are 32 bytes of memory located above the application global variables that are reserved for use by the Operating System. The first 4 bytes of those parameters are a pointer to the application’s QuickDraw global variables, which contain information about the application’s drawing environment. For PowerPC applications, the application parameters are maintained privately by the Operating System. In addition, an application’s QuickDraw global variables are stored as part of the application’s global variables (in a nonrelocatable block in the application’s heap).
  1234. Because the PowerPC run-time libraries don’t implicitly define the QuickDraw global variable qd for native applications (as they do in the 680x0 environment), you’ll need to reserve space for them globally in your application and then pass the address of that memory to the InitGraf routine. You can do this by using the code shown in Listing 1-11. The data type QDGlobals is defined in the QuickDraw header files.
  1235. Listing 1-11    Declaring an application’s QuickDraw global variables
  1236.  
  1237. #ifndef MAC68K
  1238. #    define MAC68K 0                                    /*for PowerPC code*/
  1239. #else
  1240. #    define MAC68K 1                                    /*for 680x0 code*/
  1241. #endif
  1242. #if !MAC68K
  1243. QDGlobals                    qd;
  1244. #endif
  1245.  
  1246. void DoInitManagers()                                        /*initialize Toolbox managers*/
  1247. {
  1248.     InitGraf(&qd.thePort);
  1249.     InitFonts();
  1250.     InitWindows();
  1251.     InitMenus();
  1252.     TEInit();
  1253.     InitDialogs(nil);
  1254.     InitCursor();
  1255. }
  1256. QuickDraw is one of the system software services that has been ported to native PowerPC code. It accesses the QuickDraw global variables of a 680x0 application by reading the application’s A5 value that is stored in the 680x0 context block. That value points to the boundary between the application’s global variables and the application parameters. As you’ve seen, the address of the QuickDraw global variables is the first 
  1257. 4 bytes of the application parameters.
  1258. Even for applications that have themselves been ported to native PowerPC code, there must be a minimal A5 world to support some nonported system software—as well as some system software patches that exist as 680x0 code—that accesses the QuickDraw global variables relative to the application’s A5 value. This mini-A5 world contains only a pointer to the application’s QuickDraw global variables, which reside in the applica-
  1259. tion’s global data section (in the application heap). The Process Manager creates a mini-A5 world for each native application at application launch time and installs its address in the 680x0 context block. As a result, the native QuickDraw can access the QuickDraw global variables of a native application in precisely the same way that it accesses the QuickDraw global variables of a 680x0 application (namely, by reading the value of the A5 register in the 680x0 context block and then finding the address of the QuickDraw global variables relative to the address of the A5 world).
  1260. The general structure of a PowerPC application partition is illustrated in Figure 1-16.
  1261. Figure 1-16    The structure of a PowerPC application partition
  1262.  
  1263. IMPORTANT
  1264. There is no guarantee that future versions of the run-time environment for PowerPC processor-based Macintosh computers will maintain 
  1265. this arrangement of the application partition. To modify the size of 
  1266. your application’s stack, for example, you should use the techniques (described in the book Inside Macintosh: Memory) that use the GetApplLimit and SetApplLimit routines. You should not directly modify system global variables (for instance, ApplLimit). Note, however, that you can specify a minimum stack size in your PowerPC application’s 'cfrg' resource. The GetApplLimit and SetApplLimit techniques are still useful if you need to adjust that minimum size dynamically. A reasonable minimum stack size for PowerPC applications is 48 KB.s
  1267. Because a PowerPC application has no A5 world (apart from the mini-A5 world main-
  1268. tained privately by the Process Manager), you don’t ever need to explicitly set up and restore your application’s A5 world. In the 680x0 environment, there are two times when you need to manage your A5 value explicitly: (1) to gain access to your application’s global variables or QuickDraw global variables from within some piece of “detached” code installed by your application (such as a Time Manager task or a VBL task) and (2) to create a 680x0 context for some other piece of code (such as a HyperCard XCMD).
  1269. In the first case, when you need to set up the A5 register for some piece of 680x0 code whose address you passed to the system software, there is no need for ported PowerPC code to set and restore the A5 register. The RTOC always points to the table of contents for the currently executing code, through which the application’s global variables can be addressed. As a result, your application’s global variables are transparently available to any code compiled into your application. To maintain a single source code base for both the 680x0 and the PowerPC environment, you can use conditional compilation. Consider the simple 680x0 VBL task defined in Listing 1-12.
  1270. Note
  1271. See the chapter “Vertical Retrace Manager” in Inside Macintosh: Processes for a complete explanation of the techniques used in Listing 1-12.u
  1272. Listing 1-12    A sample 680x0 VBL task definition
  1273.  
  1274. VBLRecPtr GetVBLRec (void)
  1275.             = 0x2008;                                    /*MOVE.L A0,D0*/
  1276.  
  1277. void DoVBL (VBLRecPtr recPtr)
  1278. {
  1279.     gCounter++;                                            /*modify a global variable*/
  1280.     /*Reset vblCount so that this procedure executes again.*/
  1281.     recPtr->myVBLTask.vblCount = kInterval;
  1282. }
  1283.  
  1284. void StartVBL (void)
  1285. {
  1286.     long                curA5;                            /*stored value of A5*/
  1287.     VBLRecPtr                recPtr;                            /*pointer to task record*/
  1288.  
  1289.     recPtr = GetVBLRec();                                            /*get address of task record*/
  1290.  
  1291.     /*Set our application's A5 and store old A5 in curA5.*/
  1292.     curA5 = SetA5(recPtr->vblA5);                                            
  1293.     DoVBL(recPtr);
  1294.  
  1295.     recPtr->myVBLTask.vblCount = kInterval;
  1296.     (void) SetA5(curA5);                                            /*restore the old A5 value*/
  1297. }
  1298. The procedure StartVBL defined in Listing 1-12 installs the A5 value of the application by calling SetA5, passing in a value that it retrieves from an expanded VBL task record. In addition, StartVBL restores the previous A5 value immediately before exiting. For VBL tasks written as PowerPC code, both of these steps are unnecessary. You can rewrite the procedure DoVBL to include those steps only conditionally, as shown in Listing 1-13. Moreover, in the 680x0 environment, the address of the VBL task record is passed in register A0. If you need that address in a high-level language, you need to retrieve it immediately upon entry to your VBL task (as is done using the GetVBLRec function in Listing 1-12). In the PowerPC environment, however, the address of the VBL task record is passed to the task as an explicit parameter. Listing 1-13 illustrates how to conditionally select the appropriate task declaration.
  1299. Listing 1-13    A conditionalized VBL task definition
  1300.  
  1301. #if MAC68K
  1302. VBLRecPtr GetVBLRec (void) = 0x2008;                                                        /*MOVE.L A0,D0*/
  1303. #endif
  1304.  
  1305. void DoVBL (VBLRecPtr recPtr)
  1306. {
  1307.     gCounter++;                                            /*modify a global variable*/
  1308.     /*Reset vblCount so that this procedure executes again.*/
  1309.     recPtr->myVBLTask.vblCount = kInterval;
  1310. }
  1311.  
  1312. #if MAC68K
  1313. void StartVBL (void)
  1314. #else
  1315. void StartVBL (VBLTaskPtr recPtr)
  1316. #endif
  1317. {
  1318. #if MAC68K
  1319.     long                curA5;                            /*stored value of A5*/
  1320.     VBLRecPtr                recPtr;                            /*pointer to task record*/
  1321.     recPtr = GetVBLRec();                                            /*get address of task record*/
  1322.     /*Set our application's A5 and store old A5 in curA5.*/
  1323.     curA5 = SetA5(recPtr->vblA5);                                            
  1324. #endif
  1325.     DoVBL(recPtr);
  1326. #if MAC68K
  1327.     (void) SetA5(curA5);                                            /*restore the old A5 value*/
  1328. #endif
  1329. }
  1330. Listing 1-13 also removes the dependence on the inline assembly-language code that retrieves a pointer to the VBL task record from register A0. In the PowerPC environment, information is passed to interrupt tasks as explicit parameters.
  1331. The second main case in which you need to set up and restore the A5 register is to create a 680x0 context for some existing 680x0 code (such as a stand-alone code module). To do this, you can call the SetA5 and SetCurrentA5 routines.
  1332. Note
  1333. See the book Inside Macintosh: Memory for more information on calling SetA5 and SetCurrentA5.u
  1334. Data Alignment
  1335.  
  1336. The PowerPC and 680x0 compilers follow different conventions concerning the alignment of data in memory. Unless told to do otherwise, a compiler arranges a data structure 
  1337. in memory so as to minimize the amount of time required to access the fields of the structure. In general, this is what you’d like to have happen. In some cases, however, the processor’s preferred method of aligning data might lead to problems. Suppose, for example, that a PowerPC version of your application writes some data from memory into a file. The data is arranged in the file in exactly the same order that it was arranged 
  1338. in memory, including any pad bytes that were required to achieve the desired data alignment in memory. It’s likely, however, that the resulting file will not be readable by 
  1339. a 680x0 version of your application. That’s because the data will be read from the file 
  1340. into a structure whose fields are very likely laid out slightly differently in memory. This section describes how this can happen, and provides some easy remedies for this kind 
  1341. of problem.
  1342. A 680x0 processor places very few restrictions on the alignment of data in memory. The processor can read or write a byte, word, or long word value at any even address in memory. In addition, the processor can read byte values at any address in memory. As a result, the only padding required might be a single byte to align 2-byte or larger fields to even boundaries or to make the size of an entire data structure an even number of bytes.
  1343. Note
  1344. Remember that a word on 680x0 processors is 2 bytes; 
  1345. on PowerPC processors, a word is 4 bytes.u
  1346. By contrast, the PowerPC processor prefers to access data in memory according to its natural alignment, which depends on the size of the data. A 1-byte value is always aligned in memory. A 2-byte value is aligned on any even address. A 4-byte value is aligned on any address that is divisible by 4, and so on. A PowerPC processor can access data that is not aligned on its natural boundary, but it performs aligned memory accesses more efficiently. As a result, PowerPC compilers usually insert pad bytes into data structures to enforce the preferred data alignment.
  1347. For example, consider the following data structure:
  1348. struct SampleStruct {
  1349.     short            version;
  1350.     long            address;
  1351.     short            count;
  1352. }
  1353. This structure occupies 8 bytes of memory in the 680x0 environment. To achieve the desired alignment of the address field in the PowerPC environment onto a 4-byte boundary, however, 2 bytes of padding are inserted after the version field. In addition, the structure itself is padded to a word boundary. As a result, the structure occupies 
  1354. 12 bytes of memory in the PowerPC environment.
  1355. In general, the different data alignment conventions of the 680x0 and PowerPC environments should be transparent to your application. You need to worry about the differences only when you need to transfer data between the two environments. This can happen in a number of ways:
  1356. n    Your application creates files containing data structures and the user copies those files from a PowerPC processor-based Macintosh computer to a 680x0-based Macintosh computer (or vice versa).
  1357. n    Your PowerPC application creates a data structure and passes it to some code running under the 68LC040 Emulator.
  1358. n    Your application—running in either environment—customizes a Toolbox or Operating System data structure and passes it to the system software.
  1359. n    Your PowerPC application sends data across a network connection to a 680x0-based Macintosh computer.
  1360. To ensure that data can be transferred successfully in all of these cases, it’s sufficient simply to instruct the PowerPC compiler to use the 680x0 data alignment conventions. You can do this by using a compiler pragma statement, as follows:
  1361. #pragma option align=mac68k
  1362. struct SampleStruct {
  1363.     short            version;
  1364.     long            address;
  1365.     short            count;
  1366. }
  1367. #pragma option align=reset
  1368. You should make sure, however, that you use 680x0 alignment only when absolutely necessary. The PowerPC processor is less efficient when accessing misaligned data than when accessing aligned data.
  1369. Alternatively, instead of forcing the compiler to use 680x0 alignment in the PowerPC environment, you can try to rearrange your data structures to promote natural 
  1370. alignment in both environments. For example, you can change the declaration of the SampleStruct structure to be as follows:
  1371. struct SampleStruct {
  1372.     long            address;
  1373.     short            count;
  1374.     short            version;
  1375. }
  1376. A PowerPC compiler does not insert any pad bytes into the SampleStruct structure 
  1377. in this new arrangement, because the fields are already aligned along the desired memory boundaries.
  1378. Note
  1379. Your PowerPC compiler may use slightly different alignment methods than those described here. Consult your development system’s documentation for complete information. For more details on specifying alignment methods with the PPCC compiler, see the book Macintosh on PowerPC C Compiler.u
  1380. You also need to be careful when passing floating-point data between the 680x0 and PowerPC environments. The most efficient floating-point data type in the 680x0 environ-
  1381. ment is the 80-bit (or 96-bit) extended data type. The most efficient data types in the PowerPC environment are single, double, and long double, which are 32, 64, and 128 bits, respectively. The PowerPC Numerics library includes routines you can use to convert among these various data types. See Inside Macintosh: PowerPC Numerics for complete details.
  1382.  
  1383. Compatibility and Performance
  1384.  
  1385. In general, it’s relatively easy to modify existing ANSI-compliant C or C++ source code that successfully compiles and runs on 680x0-based Macintosh computers so that it can be compiled and run on PowerPC processor-based Macintosh computers. Most of the intricate work required to make your application compatible with the new PowerPC run-time environment is performed automatically by your development system’s compiler and linker and by the Code Fragment Manager. As you’ve seen, the changes you need to make in your application’s source code are fairly straightforward. You need to make these changes:
  1386. n    Create routine descriptors for any routines whose addresses you pass to code of an unknown type.
  1387. n    Minimize any dependencies on system global variables by using the new set of accessor routines defined in the MPW interface files.
  1388. n    Isolate and conditionalize any dependencies on specific features of the 680x0 A5 world or the 680x0 run-time environment.
  1389. n    Isolate and conditionalize any dependencies on information being passed in specific 680x0 registers.
  1390. n    Use 680x0 alignment for any data that is passed between environments, or declare your data structures so that their fields are aligned identically in both the 680x0 and PowerPC environments.
  1391. This section discusses several additional topics that relate more generally to the compatibility and performance of your PowerPC application.
  1392. Patches
  1393.  
  1394. Some applications or other kinds of software patch the Operating System’s trap dispatch tables to augment or replace the capabilities of certain system software routines. In general, however, there is much less need to patch the system software now than there previously was, and you should avoid doing so if at all possible. One very good reason to avoid unnecessary patching is that you can incur a substantial performance reduction if your patch causes a mode switch. For example, when a PowerPC application calls 
  1395. a system software routine that is implemented as PowerPC code, the dispatching to 
  1396. the PowerPC code occurs fairly quickly. However, if you patch the PowerPC code 
  1397. with 680x0 code, the Mixed Mode Manager needs to intervene to switch the execution environments both when entering and when exiting your patch code. This switching results in a considerable overhead (approximately 15 microseconds on a 60 MHz PowerPC processor per round-trip mode switch, the equivalent of about fifty 680x0 instructions).
  1398. Note
  1399. The precise number of instructions or microseconds of overhead required to switch from one environment to the other and back is subject to change in future system software versions and on different hardware configurations. The important point to keep in mind is that switching modes is a reasonably expensive activity and you should avoid it whenever possible.u
  1400. The same situation occurs if you use PowerPC code to patch a system software routine that is implemented as 680x0 code. Once again, a mode switch is required before entering your patch code and after exiting it.
  1401. The ideal solution is simply to avoid patching the system software entirely. In the few cases in which you absolutely cannot avoid patching some system software routine, you can avoid the kind of mode switching just described by making sure to patch PowerPC code with a PowerPC patch and 680x0 code with a 680x0 patch. Because you cannot in general know what kind of code implements a particular system software routine, you should install a fat patch, which addresses both PowerPC and 680x0 versions of your code. To install a fat patch, you need to create a routine descriptor with two embedded routine records, one record describing the PowerPC routine and one record describing the 680x0 routine. Then you pass the address of that routine descriptor—that is, a universal procedure pointer—to an appropriate Trap Manager routine, which installs that universal procedure pointer into the trap dispatch table. When the patched routine is called, the Mixed Mode Manager inspects the routine descriptor addressed by the universal procedure pointer and selects the patch code that has the smallest impact on performance.
  1402. IMPORTANT
  1403. IMPORTANT
  1404. To install patches, you can use one of the Trap Manager routines SetToolTrapAddress, SetOSTrapAddress, and NSetTrapAddress. You should not use the obsolete routine SetTrapAddress. See the chapter “Trap Manager” in Inside Macintosh: Operating System Utilities for a more complete description of the recommended way to patch system software routines. You should never manipulate the trap dispatch tables directly.s
  1405. Your patch code should, of course, make sure to call through to the code originally addressed by the entry in the trap dispatch table. You can retrieve that address by calling GetToolTrapAddress, GetOSTrapAddress, or NGetTrapAddress before you install 
  1406. your patch. In the 680x0 patch code, you can simply jump to that address. In the PowerPC patch code, you execute the original code by calling the Mixed Mode Manager routine CallUniversalProc (for Toolbox traps) or CallOSTrapUniversalProc (for Operating System traps).
  1407. The CallOSTrapUniversalProc function behaves just like the CallUniversalProc function except that it preserves additional 680x0 registers around the execution of 
  1408. the called procedure. In addition, you need to pass it a value specifying the trap word. Operating System traps expect a 2-byte parameter in register D1; this parameter represents the actual A-trap word used to call the routine. (Some traps use bits in the trap word to dispatch to different code.) Any Operating System trap patches you install should accept that parameter in register D1 and pass it through when calling the original trap code. Listing 1-14 shows how to patch the NewPtr function using PowerPC code.
  1409. Listing 1-14    Patching an Operating System trap
  1410.  
  1411. enum {                /*procedure information for NewPtr function*/
  1412.     kNewPtrProcInfo = kRegisterBased |
  1413.         RESULT_SIZE(kFourByteCode) |
  1414.         REGISTER_RESULT_LOCATION(kRegisterA0) |
  1415.         REGISTER_ROUTINE_PARAMETER(1, kRegisterD1, kTwoByteCode) |
  1416.         REGISTER_ROUTINE_PARAMETER(2, kRegisterD0, kFourByteCode)
  1417. };
  1418.  
  1419. pascal Ptr MyNewPtrPatch(unsigned short trapWord, Size byteCount)
  1420. {
  1421.     /*Your patch code goes here.*/
  1422.  
  1423.     return (long) CallOSTrapUniversalProc(gOriginalNewPtr,
  1424.                                 kNewPtrProcInfo, trapWord, byteCount);
  1425. }
  1426. Because CallUniversalProc and CallOSTrapUniversalProc are called as subroutines and return control to the calling code, all PowerPC patches are both 
  1427. head patches and tail patches (that is, your patch has control both before and after 
  1428. the code originally pointed to by the trap dispatch table).
  1429. Notice that the address you call through to might be the address of someone else’s patch. As a result, it’s still possible for mode switches to occur, if at least one link in the patch daisy chain is not a fat patch. These mode switches are unavoidable.
  1430. Note also that the system software includes a small number of split traps, system software routines that are implemented with 680x0 code (usually in ROM) and as PowerPC code in an import library. Because the PowerPC code is contained directly 
  1431. in the import library, you cannot patch the PowerPC portion of a split trap. In general, however, only those routines are implemented as split traps that are not likely candi-
  1432. dates for patching. For example, a number of very small utility routines like AddPt and SetRect are implemented as split traps.
  1433. The biggest restriction on patching is that you cannot patch any selector-based traps (system software routines that are dispatched through a selector code) with either pure PowerPC or fat patches. In the 680x0 environment, you can patch one or more selectors belonging to a dispatched trap and pass all others through to the original code. In the PowerPC environment, however, this is not possible. As a result, when patching with PowerPC code, you must patch all the routines selected by a single trap if you patch any of them. However, you cannot in general determine how many selectors are supported by a given selector-based trap. You cannot therefore safely patch selector-based traps in a way that is likely to remain compatible with future system software versions. For now, you should use 680x0 code if you need to patch selector-based traps.
  1434. The Memory Manager
  1435.  
  1436. As you’ve already learned, the Memory Manager has been rewritten for PowerPC processor-based Macintosh computers. The new Memory Manager, written in C and compiled into native PowerPC code, offers much better performance than the previous 680x0 assembly-language version, both because it runs in the native PowerPC environ-
  1437. ment and because it uses substantially improved algorithms to manage heaps. In general, however, the application programming interface has not changed. As a result, you’ll benefit from the new version completely transparently, whether your application runs under the 68LC040 Emulator or in the native PowerPC environment.
  1438. The Memory control panel (shown in Figure 1-17) includes controls that allow the user to select whether applications and other software use the new Memory Manager or the original Memory Manager. By default, the new (or “Modern”) Memory Manager is used.
  1439. Figure 1-17    The Memory control panel for PowerPC processor-based Macintosh computers
  1440.  
  1441. There are, however, several restrictions imposed by the new Memory Manager that might cause compatibility problems for your application. If you’ve followed the advice and warnings in the book Inside Macintosh: Memory, your application should run without problems. However, the new Memory Manager is generally much less forgiving toward code that fails to heed those warnings. Here are some areas to watch out for.
  1442. n    Don’t dispose of blocks more than once. When you dispose of a block, whether relocatable or nonrelocatable, the Memory Manager immediately takes control of that block. Any future attempt to operate on the block (even simply to dispose of it) is likely to cause problems. Note that it’s possible to dispose of a block twice in rather subtle ways. For example, you might call GetPicture to display a picture stored in a resource and then inadvertently call KillPicture or DisposeHandle to remove it. This way of disposing of the block of memory leaves the 'PICT' resource in the resource map. When your application quits, the resource is disposed of once again. (The proper way to dispose of a picture loaded from a resource is to call ReleaseResource.)
  1443. n    Don’t manipulate the Memory Manager’s private data structures, including block headers for both relocatable and nonrelocatable blocks, zone headers, and any unused master pointers. The sizes and formats of some of these structures have changed.
  1444. n    Don’t access any system global variables maintained by the Memory Manager. Whenever possible, use the documented application programming interface (such 
  1445. as the SetApplLimit and SetGrowZone procedures) to avoid manipulating 
  1446. those variables.
  1447. n    Don’t modify free blocks of data or rely on the integrity of any data in free blocks. The new Memory Manager assumes control of all unallocated memory in your heap and may overwrite any information in free blocks.
  1448. n    Don’t close a resource file without first detaching any resources in that file that you want to continue using. To detach a resource, call the DetachResource procedure.
  1449. n    Don’t use fake handles or pointers. You should call Memory Manager routines 
  1450. only on blocks that were created by the Memory Manager itself. Remember that 
  1451. the Memory Manager is fundamentally a heap managing tool. You should not, 
  1452. for example, call DisposePtr on data in your stack or in your application global variable space.
  1453. n    Don’t call Memory Manager routines at interrupt time. Except for the BlockMove procedure, all Memory Manager routines either move memory or manipulate system global variables. These operations must not occur at interrupt time.
  1454. n    Make sure to flush the instruction cache whenever necessary. Because it’s much harder to treat data as executable code in the PowerPC environment, the new Memory Manager flushes the instruction cache only when it moves blocks around in memory.
  1455. n    Don’t make assumptions about the relative positions of the stack and heap in your application partition. You should adjust the size of the stack, if necessary, by calling GetApplLimit and SetApplLimit.
  1456. To repeat, you shouldn’t encounter any of these problems if you’ve used the routines and programming techniques documented in Inside Macintosh: Memory.
  1457. Performance Tuning
  1458.  
  1459. Once you’ve gotten your application or other software to execute correctly on a PowerPC processor-based Macintosh computer, you’ll want to spend some time 
  1460. tuning it for maximum performance. Many factors affect the speed at which code executes, including
  1461. n    how often you cause mode switches from one environment to another
  1462. n    how you pass parameters to subroutines
  1463. n    whether you use compiler-specific optimizations
  1464. The easiest way to increase the performance of your application is to use the compiler’s optimization capabilities. It’s not uncommon for compiler speed optimizations to improve your code’s execution by as much as 50 percent. See the book Macintosh on PowerPC C Compiler for more information on compiler optimizations.
  1465. This section provides some preliminary discussion of the overhead associated with mode switches and parameter passing. In general, you’ll need to combine the informa-
  1466. tion presented here with empirical observations you obtain when using a performance-
  1467. measurement tool, such as the Adaptive Sampling Profiler (ASP) built into the debugger. See the book Macintosh Debugger Reference for complete information about using the ASP.
  1468. Mode Switches
  1469.  
  1470. You’ve already learned (in “Patches” on page 1-66) that it’s important to avoid mode switches whenever possible. The Mixed Mode Manager requires the equivalent of approximately fifty 680x0 instructions to switch from one environment to another. 
  1471. As a result, you might want to minimize the number of times your code invokes a 
  1472. mode switch.
  1473. Some mode switches are entirely avoidable. For example, if you need to patch a system software routine, you can avoid at least some mode switching by installing a fat patch 
  1474. (a patch that includes both 680x0 and PowerPC versions of the patching code). Similarly, if your application calls any resource-based code (for example, dynamically loadable filters), you can create fat resources: code resources that include both 680x0 and PowerPC versions of the executable code. Once again, the Mixed Mode Manager will select the code that minimizes mode switching.
  1475. Some mode switches, however, are entirely unavoidable. Any time your PowerPC application calls a system software routine that has not yet been ported to use the native PowerPC instruction set, the Mixed Mode Manager must switch to the 680x0 environ-
  1476. ment to execute the routine and then switch back to the PowerPC environment to allow your application to continue. This sometimes means that parts of your application might execute more slowly on a PowerPC processor-based Macintosh computer than on a 680x0-based Macintosh computer.
  1477. A good example of this behavior concerns calling Event Manager routines, which remain as 680x0 code in the first release of the system software for PowerPC processor-based Macintosh computers. Suppose that during a lengthy calculation your application calls WaitNextEvent or EventAvail to scan the event queue for a Command-period event (which typically indicates that the user wants to cancel the lengthy operation) and to give time to other applications. Each time you call the Event Manager, two mode switches occur (from your code to the emulated code and back). Moreover, because your code is native PowerPC code, it executes more quickly between Event Manager calls than it did in the 680x0 environment. The result is that your application is switching modes more often than it absolutely has to.
  1478. Although you cannot avoid the mode switches entirely when calling the Event Manager, you can lessen the overall impact of those switches on your application’s performance by doing more work between successive Event Manager calls. One simple way to do this is to perform more than one iteration of a loop between calls to WaitNextEvent. Another simple way is to call WaitNextEvent only after a certain amount of time has elapsed. Listing 1-15 shows how you can rewrite a part of your main event loop to incorporate this feature.
  1479. Listing 1-15    Waiting to call the WaitNextEvent function
  1480.  
  1481. static unsigned long                                gWNEDelay = 5;                        /*adjust this value as needed*/
  1482.  
  1483. void MainEventLoop(void)
  1484. {
  1485.     EventRecord                        myEvent;
  1486.     unsigned long                        nextTimeToCheckForEvents = 0;
  1487.     
  1488.     while (!gDone) {
  1489.         if ((gWNEDelay == 0) || (TickCount() > nextTimeToCheckForEvents)) {
  1490.             nextTimeToCheckForEvents = TickCount() + gWNEDelay;
  1491.             if (WaitNextEvent(everyEvent, &myEvent, 
  1492.                                                             MyGetSleep(), (RgnHandle) nil))
  1493.                 HandleEvent(&myEvent);
  1494.         }
  1495.         DoIdle();
  1496.     }
  1497. }
  1498. As you can see, this code continues in the event loop only when a certain amount of time has elapsed. This method of adjusting the frequency of calls to WaitNextEvent works on any available Macintosh computer and doesn’t require any conditional compilation.
  1499. Routine Parameters
  1500.  
  1501. You’ve already learned (in “Parameter Passing” beginning on page 1-47) that PowerPC compilers attempt to pass as many parameters as possible in the processor’s registers, thereby minimizing the number of memory accesses that are required for a routine call. You can, however, help the compiler minimize memory accesses by following a few simple guidelines:
  1502. n    Use function prototypes. A compiler can generate more efficient code if you include prototypes for any functions that accept floating-point parameters. The compiler then knows to use the floating-point registers to store those parameters. If no function prototype is available for a function taking floating-point parameters, the compiler needs to pass the same information in both general-purpose and floating-point parameters. (For more information, see the description of PowerPC calling conventions beginning on page 1-47.)
  1503. n    Put floating-point parameters at the end of the parameter list. A PowerPC compiler reserves space for floating-point parameters not only in the floating-point registers but also either in the general-purpose registers or in a stack frame. (This is necessary to support passing floating-point parameters to a function for which no prototype 
  1504. is available.) It’s best to let any non-floating-point parameters use the available general-purpose register, so you should move floating-point parameters to the end of the routine’s parameter list.
  1505. n    Minimize the use of variable parameter lists. For many reasons, it’s inefficient to 
  1506. use variable parameter lists in the PowerPC environment. Use them only when absolutely necessary.
  1507. IMPORTANT
  1508. These floating-point parameter-passing optimizations are highly dependent on specific features of the PowerPC run-time environment. You should implement these guidelines only in those parts of your code where maximum efficiency is necessary.s
  1509. Listing 2-0
  1510. Table 2-0
  1511. Mixed Mode Manager
  1512. Contents
  1513. About the Mixed Mode Manager2-4
  1514. External Code2-4
  1515. Procedure Pointers2-5
  1516. Mode Switches2-7
  1517. Calling PowerPC Code From 680x0 Code2-8
  1518. Calling 680x0 Code From PowerPC Code2-12
  1519. Using the Mixed Mode Manager2-14
  1520. Specifying Procedure Information2-14
  1521. Using Universal Procedure Pointers2-21
  1522. Using Static Routine Descriptors2-22
  1523. Executing Resource-Based Code2-24
  1524. Mixed Mode Manager Reference2-26
  1525. Constants2-27
  1526. Routine Descriptor Flags2-27
  1527. Procedure Information2-27
  1528. Routine Flags2-34
  1529. Instruction Set Architectures2-35
  1530. Data Structures2-36
  1531. Routine Records2-36
  1532. Routine Descriptors2-37
  1533. Mixed Mode Manager Routines2-38
  1534. Creating and Disposing of Routine Descriptors2-39
  1535. Calling Routines via Universal Procedure Pointers2-42
  1536. Determining Instruction Set Architectures2-44
  1537. Summary of the Mixed Mode Manager2-45
  1538. C Summary2-45
  1539. Constants2-45
  1540. Data Types2-48
  1541. Mixed Mode Manager Routines2-49
  1542. Mixed Mode Manager
  1543. This chapter describes the Mixed Mode Manager, the part of the Macintosh system software that manages the mixed-mode architecture of PowerPC processor-based computers running 680x0-based code (including system software, applications, and stand-alone code modules). The Mixed Mode Manager cooperates with the 68LC040 Emulator to provide a fast, efficient, and virtually transparent method for code in 
  1544. one instruction set architecture to call code in another architecture. The Mixed Mode Manager handles all the details of switching between architectures.
  1545. The Mixed Mode Manager is intended to operate transparently to most applications and other software. You need the information in this chapter only if
  1546. n    you want to recompile your application into PowerPC code and your application passes the address of some routine to the system software using a reference of 
  1547. type ProcPtr
  1548. n    your application—written in either PowerPC or 680x0 code—supports installable code modules that might be written in a different architecture
  1549. n    you are writing stand-alone code (for example, a VBL task or a component) that could be called from either the PowerPC native environment or the 680x0 emulated environment
  1550. n    you are writing a debugger or other software that needs to know about the structure of the stack at any time (for example, during a mode switch)
  1551. You do not need to read this chapter if you’re simply writing 680x0 code that doesn’t call external code modules of unknown type, or if you are writing PowerPC code that calls other PowerPC code using a procedure pointer. In these cases, any environment switching that might occur is handled completely transparently by the Mixed Mode Manager.
  1552. IMPORTANT
  1553. This chapter describes the operation and features of the Mixed 
  1554. Mode Manager and the 68LC040 Emulator as they exist in the 
  1555. first version of the system software for PowerPC processor-based 
  1556. Macintosh computers.s
  1557. To use this chapter, you should already be generally familiar with the Macintosh Operating System. See the books Inside Macintosh: Processes and Inside Macintosh: Memory for information about the run-time architecture of the 680x0 environment. You also need to be familiar with the run-time architecture of PowerPC processor-based Macintosh computers, as explained in the chapter “Introduction to PowerPC System Software.”
  1558. This chapter begins by describing the mixed-mode architecture of PowerPC processor-
  1559. based Macintosh computers and the operations of the Mixed Mode Manager. Then it shows how to use the Mixed Mode Manager to call external code.
  1560.  
  1561.  
  1562. About the Mixed Mode Manager
  1563.  
  1564. The Mixed Mode Manager is the part of the Macintosh Operating System that allows PowerPC processor-based Macintosh computers to cooperatively run 680x0 applications, PowerPC applications, 680x0 system software, and PowerPC system software. It provides a number of capabilities, including
  1565. n    transparent access to 680x0-based system software from PowerPC applications
  1566. n    transparent access to PowerPC processor-based system software from 680x0 applications
  1567. n    a method—independent of the instruction set architecture—of calling an external piece of code. This includes
  1568. n    transparent access to PowerPC code by 680x0 applications
  1569. n    system support for calling 680x0 code from PowerPC code
  1570. n    system support for calling PowerPC code from 680x0 code
  1571. n    support for patching PowerPC or 680x0 code with PowerPC or 680x0 code
  1572. n    support for stand-alone code resources containing either 680x0 or PowerPC code
  1573. In short, the Mixed Mode Manager is intended to provide both PowerPC processor-
  1574. based and 680x0-based code transparent access to code written in another instruction set (or in an instruction set whose type is unknown). It does this by keeping track of what kind of code is currently executing and, when necessary, switching modes. For example, if some PowerPC code calls a Macintosh Operating System routine that exists only in 680x0 form, the Mixed Mode Manager translates the routine’s parameters from their PowerPC arrangement (for example, stored in registers GPR3 and GPR4) into the appropriate 680x0 arrangement (for example, stored in registers D0 and D1, with the result placed into register A0).
  1575. The Mixed Mode Manager is an integral part of the system software for PowerPC processor-based Macintosh computers. It is designed to hide, as much as possible, the dual nature of the operating environment supported on PowerPC processor-based Macintosh computers running the 68LC040 Emulator. Except in specific cases described later, your application or other software should not need to call the routines provided by the Mixed Mode Manager.
  1576. External Code
  1577.  
  1578. To appreciate when and why you might need to use the routines provided by the Mixed Mode Manager, you need to understand the circumstances in which you might directly or indirectly call code in an instruction set architecture different from that of the calling code. There are several ways to execute external code (code that is not directly contained in your application or software), including
  1579. n    calling a trap
  1580. n    calling a device driver (for example, by calling the driver’s Open, Status, or 
  1581. Control routines)
  1582. n    loading and then executing code contained in a resource
  1583. n    using the address of a procedure or function obtained from an unknown source
  1584. In any of these four cases, the external code that you call might be in an instruction set architecture that is different from the instruction set architecture of the calling code. (For example, an application that uses the PowerPC instruction set might call a ROM-based Toolbox trap that uses the 680x0 instruction set.) As a result, in all these cases, the Mixed Mode Manager might have to switch environments to allow the called routine to execute and then switch back to allow your application or other software to continue execution.
  1585. In the first two of the four cases, the Mixed Mode Manager is able to handle all required mode switching virtually transparently to the calling software. In the two last cases, however, you might need to intervene in the otherwise automatic operations of the Mixed Mode Manager. This is because the Mixed Mode Manager cannot tell, from a given pointer to some executable code, what kind of code the pointer references.
  1586. The following section describes in greater detail the extent of this problem and the way you need to solve it, using universal procedure pointers in place of procedure pointers. See “Using the Mixed Mode Manager” beginning on page 2-14 for code samples that illustrate how to create and use universal procedure pointers.
  1587. Procedure Pointers
  1588.  
  1589. For present purposes, a procedure pointer is any reference generated by a compiler when taking the address of a routine. On 680x0-based Macintosh computers, a procedure pointer is simply the address of the routine’s executable code (and is defined by the ProcPtr data type). On PowerPC processor-based Macintosh computers, a procedure pointer is the address of the routine’s transition vector. Figure 2-1 illustrates the structure of procedure pointers in each environment.
  1590. Figure 2-1    680x0 and PowerPC procedure pointers
  1591.  
  1592. A transition vector is a set of two addresses: the address of the routine’s executable code and the address of the fragment’s table of contents (TOC).
  1593. The Macintosh programming interfaces allow you to use procedure pointers in several ways. A procedure pointer can be
  1594. n    passed as a parameter to a system software routine (for example, the growZone parameter to the SetGrowZone routine)
  1595. n    passed in a field of a parameter block or other data structure (for example, the gzProc field of a Zone parameter block)
  1596. n    stored in an application-specific global data structure (for example, the addresses stored in a grafProcs field of a graphics port)
  1597. n    installed into a vector accessed through system global variables (for example, the jGNEFilter global variable)
  1598. n    installed into the trap dispatch table or into a patch daisy chain using the SetToolTrapAddress or SetOSTrapAddress routine
  1599. As indicated previously, the Mixed Mode Manager cannot tell, from a given procedure pointer, what kind of code the pointer references (either directly through a pointer of type ProcPtr or indirectly through a transition vector). The Mixed Mode Manager solves this problem by requiring you to use generalized procedure pointers, known as universal procedure pointers, whenever you would previously have used a procedure pointer. A universal procedure pointer is either a normal 680x0 procedure pointer 
  1600. (that is, the address of a routine) or the address of a routine descriptor, a data structure that the Mixed Mode Manager uses to encapsulate information about an externally referenced routine. A routine descriptor describes the address of the routine, its parameters, and its calling conventions.
  1601. typedef RoutineDescriptor *UniversalProcPtr;
  1602. Note
  1603. See “Routine Descriptors” on page 2-37 for a description 
  1604. of the fields of a routine descriptor.u
  1605. The Macintosh application programming interfaces have been revised for the PowerPC platform to change all references to procedure pointers to references to universal procedure pointers. (The new interfaces are called the universal interface files.) For example, the SetGrowZone function was previously declared in the interface file Memory.h like this:
  1606. typedef ProcPtr GrowZoneProcPtr;
  1607. pascal void SetGrowZone (GrowZoneProcPtr growZone);
  1608. In the updated interface file Memory.h, SetGrowZone is declared like this:
  1609. typedef UniversalProcPtr GrowZoneUPP;
  1610. extern pascal void SetGrowZone (GrowZoneUPP growZone);
  1611. This redefinition of all procedure pointers as universal procedure pointers ensures that at the time a procedure is to be executed, the Operating System has enough information 
  1612. to determine the routine’s instruction set architecture and hence to determine whether 
  1613. a mode switch is necessary. In addition, if a mode switch is necessary, the universal procedure pointer (if it is a pointer to a routine descriptor) provides information about the routine’s calling conventions, the number and sizes of its parameters, and so forth.
  1614. It’s important to understand exactly when you need to be concerned about routine descriptors and when you need to use the new programming interfaces when writing your application. The following cases cover most of the relevant possibilities:
  1615. n    If your application uses the 680x0 instruction set (and therefore executes under the 68LC040 Emulator on PowerPC processor-based Macintosh computers) and does not support external code modules, you do not need to use routine descriptors or the new programming interfaces.
  1616. n    If your application uses the PowerPC instruction set, you must use the new program-
  1617. ming interfaces.
  1618. n    If your application uses either the 680x0 instruction set or the PowerPC instruction set and makes calls only to code of the same type, you do not need to create routine descriptors.
  1619. n    If your code uses the PowerPC instruction set and passes a routine’s address to code that might be in the 680x0 instruction set, then you need instead to pass the address of a routine descriptor. This applies to all the methods of passing a routine address listed earlier in this section (as a parameter to a system software routine, in a field of a parameter block, and so forth).
  1620. n    If you create a resource containing PowerPC code that might be called either by 680x0 code or by PowerPC code, that code must be preceded by a routine descriptor. It’s possible that the calling code simply loads the resource and jumps to its beginning; 
  1621. if the resource does not begin with a routine descriptor, the Mixed Mode Manager 
  1622. will not be called to determine whether a mode switch is necessary. See “Executing Resource-Based Code” on page 2-24 for more details.
  1623. IMPORTANT
  1624. In short, you need to convert procedure pointers to universal procedure pointers only if you pass a routine’s address to code that is external to your application. See “Using Universal Procedure Pointers” beginning on page 2-21 for details on making the appropriate modifications to your application.s
  1625. Mode Switches
  1626.  
  1627. This section describes the operations of the Mixed Mode Manager in switching modes (from PowerPC native mode to 680x0 emulation mode, or vice versa). It describes the circumstances under which mode switches are performed and the mechanism that the Mixed Mode Manager uses to switch modes.
  1628. IMPORTANT
  1629. The information in this section is provided for debugging purposes only. Your application (or other code) should not rely on the details of mode switching presented here.s
  1630. Every mode switch occurs as a result of either an explicit or an implicit cross-mode 
  1631. call. An explicit cross-mode call occurs when the calling software itself calls the CallUniversalProc function and passes a universal procedure pointer of a routine that exists in an instruction set architecture other than that of the caller. An implicit cross-mode call occurs when the calling software executes a routine descriptor for a routine that exists in an instruction set architecture other than that of the caller.
  1632. The mixed-mode architecture of PowerPC processor-based computers running 680x0-
  1633. based code gives rise to four possible situations when a piece of code calls a system software routine:
  1634. n    When 680x0 code calls a system software routine that exists as 680x0 code, the 
  1635. routine is called directly, using the trap dispatch mechanism provided in the 
  1636. 68LC040 Emulator.
  1637. n    When 680x0 code calls a system software routine that exists as PowerPC code, the routine is called indirectly, using the address—contained in the trap dispatch table—of a routine descriptor, which invokes a mode switch to the PowerPC environment. When the PowerPC code returns, the executing environment is switched back to the 68LC040 Emulator. See the next section, “Calling PowerPC Code From 680x0 Code,” for more details.
  1638. n    When PowerPC code calls a system software routine that exists as PowerPC code, the routine is called through glue in the system software import library. The glue code calls CallUniversalProc, which determines that the routine is PowerPC code and then calls it directly.
  1639. n    When PowerPC code calls a system software routine that exists as 680x0 code, the routine is called through glue code contained in the system software import library. The glue code sets up a 680x0 universal procedure pointer (which is simply a 680x0 procedure pointer) and executes the 680x0 code by calling the CallUniversalProc function. See “Calling 680x0 Code From PowerPC Code” on page 2-12 for more details.
  1640. IMPORTANT
  1641. Only 680x0 code can make implicit cross-mode calls. Native PowerPC code must always make explicit cross-mode calls. The Mixed Mode Manager determines whether a mode switch is necessary.s
  1642. Calling PowerPC Code From 680x0 Code
  1643.  
  1644. This section describes how the Mixed Mode Manager switches modes from the 680x0 emulated environment to the PowerPC native environment. This usually happens 
  1645. when 680x0 code calls a system software routine that is implemented in the PowerPC instruction set.
  1646. Suppose that a 680x0 application calls some system software routine. The application is not aware that it is running under the 68LC040 Emulator, so it just pushes the routine’s parameters onto the stack (or stores them into registers) and then jumps to the routine 
  1647. or calls a trap that internally jumps to the routine. If the routine exists as 680x0 code, 
  1648. no mode switch is required and the routine is called as usual. If, however, the routine exists as PowerPC code, the calling application must implicitly invoke the Mixed 
  1649. Mode Manager.
  1650. If the calling application merely jumps to the PowerPC code, the code must begin with 
  1651. a routine descriptor, as explained in “Executing Resource-Based Code” on page 2-24. If the calling application calls a trap, the trap dispatch table must contain—instead of the address of the routine’s executable code—the address of a routine descriptor for that routine. This routine descriptor is created at system startup time.
  1652. Figure 2-2 shows the path followed when a 680x0 application calls a system software routine implemented as PowerPC code. The trap dispatch table contains the address 
  1653. of the native routine’s routine descriptor. The routine descriptor contains the address 
  1654. of the routine’s transition vector, which in turn contains the routine’s entry point and TOC value.
  1655. Figure 2-2    Calling PowerPC code from a 680x0 application
  1656.  
  1657. For example, suppose that your application calls the CountResources function, 
  1658. as follows:
  1659. myResCount = CountResources('PROC');
  1660. Suppose further that CountResources has been ported to the PowerPC instruction set. When your application calls CountResources, the stack looks like the one shown in Figure 2-3.
  1661. Figure 2-3    The stack before a mode switch
  1662.  
  1663. The trap dispatcher executes the CountResources routine descriptor, which begins with an executable instruction that invokes the Mixed Mode Manager. The Mixed Mode Manager retrieves the transition vector and creates a switch frame on the stack. A switch frame is a stack frame that contains information about the routine to be executed, the state of various registers, and the address of the previous frame. Figure 2-4 shows the structure of a 680x0-to-PowerPC switch frame.
  1664. IMPORTANT
  1665. Notice in Figure 2-4 that the low-order bit in the back chain pointer to the saved A6 value is set. The Mixed Mode Manager uses that bit internally as a signal that a switch frame is on the stack. The Mixed Mode Manager will fail if the stack pointer has an odd value.s
  1666. Figure 2-4    A 680x0-to-PowerPC switch frame
  1667.  
  1668. In addition to creating a switch frame, the Mixed Mode Manager also sets up several CPU registers:
  1669. n    The Table of Contents Register (RTOC) must be set to the TOC address of the fragment containing the CountResources routine. This value is obtained from 
  1670. the transition vector whose address is extracted from the routine descriptor.
  1671. n    The Link Register (LR) must be set to point to code that cleans up the stack and restarts the emulator.
  1672. At this point, it’s safe to execute the native CountResources code. When CountResources completes, the Mixed Mode Manager copies the return value from R3 into its proper location (in a register or on the stack). The RTOC, LR, and CR are restored to their saved values, and the switch frame is popped off the stack. The Mixed Mode Manager also pops the return address off the stack, as well as the parameters of routines of type pascal. Finally, the Mixed Mode Manager jumps back into the 68LC040 Emulator and the application continues execution.
  1673. Calling 680x0 Code From PowerPC Code
  1674.  
  1675. This section describes how the Mixed Mode Manager switches modes from the PowerPC native environment to the 680x0 emulated environment. This usually happens when PowerPC code calls a system software routine that is implemented in the 680x0 instruction set.
  1676. For example, suppose that a PowerPC application calls a system software routine that exists only as 680x0 code. In the system software import library must exist a small piece of glue code that
  1677. n    allocates space on the stack for the routine’s result, if any
  1678. n    determines the address of the 680x0 routine from the trap dispatch table
  1679. n    provides the procedure information for the routine
  1680. n    calls the CallUniversalProc function
  1681. Listing 2-1 illustrates a sample glue routine for the QuickDraw text-measuring routine TextWidth.
  1682. IMPORTANT
  1683. Glue routines like the one illustrated in Listing 2-1 are part of 
  1684. the system software import library. You do not need to write 
  1685. glue routines like this.s
  1686. Listing 2-1    Sample glue code for a 680x0 routine
  1687.  
  1688. enum {
  1689.     uppTextWidthProcInfo =  kPascalStackBased 
  1690.                             | RESULT_SIZE(kTwoByteCode) 
  1691.                             | STACK_ROUTINE_PARAMETER(1, kFourByteCode)
  1692.                             | STACK_ROUTINE_PARAMETER(2, kTwoByteCode)
  1693.                             | STACK_ROUTINE_PARAMETER(3, kTwoByteCode)
  1694. };
  1695.  
  1696. short TextWidth (Ptr textBuf, short firstByte, short byteCount)
  1697. {
  1698.     ProcPtr                    textWidth_68K;
  1699.  
  1700.     textWidth_68K = NGetTrapAddress(_TextWidth, ToolTrap);
  1701.     return CallUniversalProc((UniversalProcPtr)textWidth_68K, 
  1702.                     uppTextWidthProcInfo, textBuf, firstByte, byteCount);
  1703. }
  1704. See “Specifying Procedure Information” beginning on page 2-14 for a description of the constants and macros used to define the procedure information (that is, the myProcInfo parameter).
  1705. Note
  1706. For Operating System traps (that is, traps of type OSTrap), the 
  1707. trap dispatcher copies the trap number into register D1. As a result, 
  1708. the glue code illustrated in Listing 2-1 would need to call the 
  1709. function CallOSTrapUniversalProc.u
  1710. The call to CallUniversalProc invokes the Mixed Mode Manager, which verifies that a mode switch is necessary. At that point, the Mixed Mode Manager saves all nonvolatile registers and other necessary information on the stack in a switch frame. Figure 2-5 shows the structure of a PowerPC-to-680x0 switch frame.
  1711. Figure 2-5    A PowerPC-to-680x0 switch frame
  1712.  
  1713. Once the switch frame is set up, the Mixed Mode Manager sets up the 68LC040 Emulator’s context block and then jumps into the emulator. When the routine has finished executing, it attempts to jump to the return address pushed onto the stack. That return address points to a mode-switching structure contained in the Reserved area in the switch frame. The emulator encounters the instruction in the goMixedModeTrap field of the routine descriptor and then saves the current 680x0 state in its context block. Once this is done, the Mixed Mode Manager restores native registers that were previously saved and deallocates the switch frame. Control then returns to the caller of CallUniversalProc.
  1714. IMPORTANT
  1715. As currently implemented, the instruction that causes a return from the 68LC040 Emulator to the native PowerPC environment clears the low-order 5 bits of the Condition Code Register (CCR). This prevents 680x0 callback procedures from returning information in the CCR. If you want to port 680x0 code that calls an external routine that returns results in the CCR, you must instead call a 680x0 stub that saves that information in some other place.s
  1716.  
  1717. Using the Mixed Mode Manager
  1718.  
  1719. You can use the Mixed Mode Manager to specify the procedure information for a routine, create routine descriptors, and execute the code referenced by a universal procedure pointer. Typically, you’ll call NewRoutineDescriptor to create a routine descriptor and CallUniversalProc to execute the code described by a routine descriptor. You can dispose of routine descriptors you no longer need by calling the DisposeRoutineDescriptor function.
  1720. Remember that if you are compiling code for the 680x0 environment, you don’t need to worry about creating, calling, or disposing of routine descriptors. For 680x0 code, the compiler variable USESROUTINEDESCRIPTORS is set to false (the default setting). Any calls in your source code to the NewRoutineDescriptor function are replaced by the code address passed as a parameter to NewRoutineDescriptor. Similarly, any calls to DisposeRoutineDescriptor are simply removed.
  1721. Note
  1722. Your development environment sets the USESROUTINEDESCRIPTOR variable to the value appropriate for the kind of code you are compiling, You don’t need to set or reset this variable.u
  1723. Specifying Procedure Information
  1724.  
  1725. The primary task of the Mixed Mode Manager is to convert routine parameters between the 680x0 and PowerPC environments. The parameter passing conventions in the PowerPC environment are identical for all routines, so you’ll need to specify the calling conventions only for 680x0 routines.
  1726. In the Macintosh Operating System, there are five basic kinds of calling conventions:
  1727. n    Pascal routines with the parameters passed on the stack
  1728. n    C routines with the parameters passed on the stack
  1729. n    routines with the parameters passed in registers
  1730. n    dispatched Pascal or C routines with the selector in a register and the parameters on the stack
  1731. n    dispatched Pascal routines with the selector and the parameters on the stack
  1732. In addition to these five basic kinds of calling conventions, there exist a number of cases that the Mixed Mode Manager treats specially. For example, an ADB service routine is passed information in registers A0, A1, A2, and D0.
  1733. The Mixed Mode Manager uses a long word of type ProcInfoType to encode a routine’s procedure information, which contains essential information about the calling conventions and other features of a routine. You need to specify procedure information when you create a new routine descriptor by calling the NewRoutineDescriptor function.
  1734. typedef unsigned long ProcInfoType;
  1735. IMPORTANT
  1736. In all likelihood, you do not need to read the remainder of this section, which explains in detail the structure of the ProcInfoType long word and shows how to create custom procedure information. The universal interface files define procedure information for each universal procedure pointer used by the system. For example, the interfaces define the constant uppGrowZoneProcInfo for you to use when specifying 
  1737. the procedure information for a grow-zone function. You need to create procedure information only for routines not defined in the programming interfaces. You can probably skip to the section “Using Universal Procedure Pointers” on page 2-21.s
  1738. The lower-order 4 bits of the procedure information encode the routine’s calling conventions. You specify calling conventions using these constants:
  1739. enum {
  1740.     /*calling conventions*/
  1741.     kPascalStackBased                                                = (CallingConventionType)0,
  1742.     kCStackBased                                                = (CallingConventionType)1,
  1743.     kRegisterBased                                                = (CallingConventionType)2,
  1744.     kThinkCStackBased                                                = (CallingConventionType)5,
  1745.     kD0DispatchedPascalStackBased                                                = (CallingConventionType)8,
  1746.     kD0DispatchedCStackBased                                                = (CallingConventionType)9,
  1747.     kD1DispatchedPascalStackBased                                                = (CallingConventionType)12,
  1748.     kStackDispatchedPascalStackBased                                                = (CallingConventionType)14,
  1749.     kSpecialCase                                                = (CallingConventionType)15
  1750. };
  1751. For example, a routine that passes its parameters on the stack according to normal C language conventions would have the rightmost 4 bits of the procedure information set to 0001 (hexadecimal 0x00000001).
  1752. Except for routines having calling conventions of type kSpecialCase, the 2 bits to the left of the calling convention bits encode the size of the result returned by the routine. You can access those bits using a constant:
  1753. #define kResultSizePhase                                                4
  1754. The Mixed Mode Manager provides four constants and a macro that you can use to set a routine’s result size in its procedure information.
  1755. enum {
  1756.     kNoByteCode                                        = 0,
  1757.     kOneByteCode                                        = 1,
  1758.     kTwoByteCode                                        = 2,
  1759.     kFourByteCode                                        = 3
  1760. };
  1761. #define RESULT_SIZE(sizeCode) \
  1762.                     ((ProcInfoType)(sizeCode) << kResultSizePhase)
  1763. Except as already noted, every set of procedure information uses its rightmost 6 bits to specify the calling conventions and result size information. The calling conventions, which take up the rightmost 4 bits, determine how the remaining bits of a routine’s procedure information are interpreted. For example, if the rightmost 4 bits contain 
  1764. the value kCStackBased or the value kPascalStackBased, then the remaining bits encode the sizes and number of the parameters passed on the stack. Figure 2-6 shows how the Mixed Mode Manager interprets the procedure information for a stack-
  1765. based routine.
  1766. Figure 2-6    Procedure information for a stack-based routine
  1767.  
  1768. Once again, the Mixed Mode Manager provides a set of constants and macros that you can use to specify a stack-based routine’s procedure information.
  1769. #define kStackParameterPhase 6
  1770. #define kStackParameterWidth 2
  1771. #define STACK_ROUTINE_PARAMETER(whichParam, sizeCode) \
  1772.     ((ProcInfoType)(sizeCode) << (kStackParameterPhase + \
  1773.                         (((whichParam) - 1) * kStackParameterWidth)))
  1774. As you can see, the maximum number of stack-based parameters whose sizes you can specify using a variable of type ProcInfoType is 13. The procedure information encoding used by the Mixed Mode Manager places limits on the number of specifiable register-based parameters as well. See Table 2-1 at the end of this section (page 2-20) for a complete list of these limits.
  1775. The new application programming interface files described earlier (on page 2-6) include constants that define procedure information for each type of routine to which you might need to create a universal procedure pointer. For example, the interface file Memory.h includes these definitions:
  1776. enum {
  1777.     uppGrowZoneProcInfo = kPascalStackBased 
  1778.         | RESULT_SIZE(SIZE_CODE(sizeof(long))) 
  1779.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Size))),
  1780.     uppPurgeProcProcInfo = kPascalStackBased 
  1781.         | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
  1782. };
  1783. A grow-zone function follows normal Pascal calling conventions, returns a value that is 4 bytes long, and takes a single 4-byte parameter on the stack. A purge-warning procedure follows normal Pascal calling conventions, returns no value, and takes a single 4-byte parameter on the stack.
  1784. The Mixed Mode Manager provides similar constants and macros for specifying procedure information for register-based routines.
  1785. #define kRegisterResultLocationPhase                                                                        \
  1786.                                     (kCallingConventionWidth + kResultSizeWidth)
  1787. #define kRegisterResultLocationWidth                                                                        5
  1788. #define kRegisterParameterPhase                                                                        \
  1789.                                     (kCallingConventionWidth + kResultSizeWidth + \
  1790.                                         kRegisterResultLocationWidth)
  1791. #define kRegisterParameterWidth                                                                        5
  1792. #define kRegisterParameterWhichPhase                                                                        2
  1793. #define kRegisterParameterSizePhase                                                                        0
  1794. #define kDispatchedSelectorSizeWidth                                                                        2
  1795.  
  1796. #define kDispatchedSelectorSizePhase                                                                        \
  1797.                                     (kCallingConventionWidth + kResultSizeWidth)
  1798. #define kDispatchedParameterPhase                                                                        \
  1799.                                     (kCallingConventionWidth + kResultSizeWidth + \
  1800.                                         kDispatchedSelectorSizeWidth)
  1801. #define REGISTER_RESULT_LOCATION(whichReg) \
  1802.     ((ProcInfoType)(whichReg) << kRegisterResultLocationPhase)
  1803. #define REGISTER_ROUTINE_PARAMETER(whichParam, whichReg, sizeCode) \
  1804.     ((((ProcInfoType)(sizeCode) << kRegisterParameterSizePhase) | \
  1805.     ((ProcInfoType)(whichReg) << kRegisterParameterWhichPhase)) << \
  1806.     (kRegisterParameterPhase + (((whichParam)- 1) * kRegisterParameterWidth)))
  1807. For example, Figure 2-7 shows the arrangement of the procedure information for a register-based routine.
  1808. Figure 2-7    Procedure information for a register-based routine
  1809.  
  1810. The register fields use the following constants to encode 680x0 register information:
  1811. enum {
  1812.     /*680x0 registers*/
  1813.     kRegisterD0                                        = 0,
  1814.     kRegisterD1                                        = 1,
  1815.     kRegisterD2                                        = 2,
  1816.     kRegisterD3                                        = 3,
  1817.     kRegisterD4                                        = 8,
  1818.     kRegisterD5                                        = 9,
  1819.     kRegisterD6                                        = 10,
  1820.     kRegisterD7                                        = 11,
  1821.     kRegisterA0                                        = 4,
  1822.     kRegisterA1                                        = 5,
  1823.     kRegisterA2                                        = 6,
  1824.     kRegisterA3                                        = 7,
  1825.     kRegisterA4                                        = 12,
  1826.     kRegisterA5                                        = 13,
  1827.     kRegisterA6                                        = 14,
  1828.     kCCRegisterCBit                                        = 16,
  1829.     kCCRegisterVBit                                        = 17,
  1830.     kCCRegisterZBit                                        = 18,
  1831.     kCCRegisterNBit                                        = 19,
  1832.     kCCRegisterXBit                                        = 20
  1833. };
  1834. Note
  1835. The result size should be specified as 0 for results returned 
  1836. in any of the CCR registers.u
  1837. The Mixed Mode Manager also provides constants and macros to specify the procedure information for stack-based routines that take a register-based selector and for stack-
  1838. based routines that take a stack-based selector.
  1839. Note
  1840. See “Procedure Information” beginning on page 2-27 for a complete description of the constants you can use to specify a routine’s procedure information. See “C Language Macros for Defining Procedure Information” on page 2-50 for a complete list of the Mixed Mode Manager macros you can use to create procedure information.u
  1841. As noted earlier, there are limits on the number of parameters that a procedure information can describe. Table 2-1 lists the available calling conventions and the maximum number of specifiable parameters and selectors for each convention.
  1842. IMPORTANT
  1843. The input parameters can be passed in any of the registers D0–D3 and A0–A3; the output parameter can be returned in any register.s 
  1844. Table 2-1    Limits on the number of specifiable parameters in a procedure information
  1845. Calling convention    Maximum number of parameters    Number of selectors    
  1846. kPascalStackBased    13    0    
  1847. kCStackBased    13    0    
  1848. kRegisterBased    4 input, 1 output    0    
  1849. kThinkCStackBased    13    0    
  1850. kD0DispatchedPascalStackBased    12    1    
  1851. kD0DispatchedCStackBased    12    1    
  1852. kD1DispatchedPascalStackBased    12    1    
  1853. kStackDispatchedPascalStackBased    12    1    
  1854.  
  1855. In general, these limitations should not affect you. There are, however, a very few cases in which the documented behavior of a routine prevents it from being implemented in native PowerPC code. For example, the low-level .ENET driver routines ReadRest 
  1856. and ReadPacket return information in several registers. As a result, they cannot be implemented natively. (Because these routines are typically called only in code where speed of execution is critical, it’s not likely that you would want to incur the overhead of a mode switch by writing native callbacks to the .ENET driver.)
  1857. Using Universal Procedure Pointers
  1858.  
  1859. When you call the NewRoutineDescriptor or NewFatRoutineDescriptor function to create a routine descriptor, the Mixed Mode Manager calls the Memory Manager to allocate a nonrelocatable block in the current heap in which to store the new routine descriptor. Eventually, you might want to dispose of the space occupied by the routine descriptor; you can do this by calling the DisposeRoutineDescriptor function.
  1860. In general, there are two ways you’ll probably handle this allocation and deallocation. By far the easiest method is to allocate in your application’s heap, at application initialization time, a routine descriptor for each routine whose address you’ll need to pass elsewhere. For example, if your application calls TrackControl with a custom action procedure, you can create a routine descriptor in the application heap when your application starts up, as shown in Listing 2-2.
  1861. Listing 2-2    Creating global routine descriptors
  1862.  
  1863. UniversalProcPtr myActionProc;
  1864. myActionProc = NewRoutineDescriptor((ProcPtr)MyAction, 
  1865.                                                 uppControlActionProcInfo, 
  1866.                                                 GetCurrentISA());
  1867. Later you would call TrackControl like this:
  1868. TrackControl(myControl, myPoint, myActionProc);
  1869. The routine descriptor pointed to by the global variable myActionProc remains allocated until your application quits, at which time the Process Manager reclaims 
  1870. all the memory in your application heap.
  1871. Note
  1872. If you don’t want TrackControl to call an application-defined action procedure, you must pass NULL in place of myActionProc. In that case, you don’t need to call NewRoutineDescriptor.u
  1873. The other way to handle routine descriptors is to create them as you need them and then dispose of them as soon as you’re finished with them. This practice would be useful for routines you don’t call very often. Listing 2-3 shows a way to call the ModalDialog function to display a rarely used modal dialog box.
  1874. Listing 2-3    Creating local routine descriptors
  1875.  
  1876. void DoAboutBox (void)
  1877. {
  1878.     short                            myItem = 0;
  1879.     DialogPtr                            myDialog;
  1880.     UniversalProcPtr                            myModalProc;
  1881.  
  1882.     myDialog = GetNewDialog(kAboutBoxID, NULL, (WindowPtr) -1L);
  1883.     myModalProc = NewRoutineDescriptor((ProcPtr)MyEventFilter, 
  1884.                                                 uppModalFilterProcInfo, 
  1885.                                                 GetCurrentISA());
  1886.     while (myItem != iOK)
  1887.         ModalDialog(myModalProc, &myItem);
  1888.     DisposeDialog(myDialog);
  1889.     DisposeRoutineDescriptor(myModalProc);
  1890. }
  1891. If you decide to allocate and dispose of routine descriptors locally, make sure that you don’t dispose of a routine descriptor before it’s actually used by the Operating System. (This could happen, for instance, if you pass a universal procedure pointer for a comple-
  1892. tion routine and then exit the local procedure before the completion routine is called.)
  1893. Note
  1894. You should call DisposeRoutineDescriptor only to dispose routine descriptors that you created using either NewRoutineDescriptor or NewFatRoutineDescriptor.u
  1895. Using Static Routine Descriptors
  1896.  
  1897. Instead of allocating space for routine descriptors in your application heap (as described in the previous section), you can also create routine descriptors on the stack or in your global variable space by using macros supplied by the Mixed Mode Manager. Most likely, you’ll create a descriptor on the stack when you need to use a routine descriptor for a very short time. For example, you could use the function defined in Listing 2-4 instead of the one defined in Listing 2-3.
  1898. Listing 2-4    Creating static routine descriptors
  1899.  
  1900. void DoAboutBox (void)
  1901. {
  1902.     short                            myItem = 0;
  1903.     DialogPtr                            myDialog;
  1904.     RoutineDescriptor                            myRD = 
  1905.                                     BUILD_ROUTINE_DESCRIPTOR(uppModalFilterProcInfo, 
  1906.                                                                     (ProcPtr)MyEventFilter);
  1907.     UniversalProcPtr                            myModalProc;
  1908.  
  1909.     myDialog = GetNewDialog(kAboutBoxID, NULL, (WindowPtr) -1L);
  1910.     myModalProc = @myRD;
  1911.     while (myItem != iOK)
  1912.         ModalDialog(myModalProc, &myItem);
  1913.     DisposeDialog(myDialog);
  1914. }
  1915. As you can see, the DoAboutBox function defined in Listing 2-4 uses the macro BUILD_ROUTINE_DESCRIPTOR to create a routine descriptor on the stack and then passes the address of that routine descriptor to the ModalDialog procedure. Because the routine descriptor is created on the stack, there is no need to dispose of it before exiting the DoAboutBox function.
  1916. You can create a routine descriptor in your application’s global data area by using the BUILD_ROUTINE_DESCRIPTOR macro as follows:
  1917. static RoutineDescriptor                                    myRD = 
  1918.                                     BUILD_ROUTINE_DESCRIPTOR(uppModalFilterProcInfo, 
  1919.                                                                     (ProcPtr)MyEventFilter);
  1920. This line of code creates a routine descriptor as part of the application global variables. The advantage of this method is that you don’t have to call NewRoutineDescriptor to allocate a routine descriptor in your heap.
  1921. The C language macro BUILD_ROUTINE_DESCRIPTOR is defined in Listing 2-5.
  1922. Listing 2-5    Building a static routine descriptor
  1923.  
  1924. #define BUILD_ROUTINE_DESCRIPTOR(procInfo, procedure)                                                                                                 \
  1925. {                                                                                                \
  1926.     _MixedModeMagic,                                                /*mixed-mode A-trap*/                                             \
  1927.     kRoutineDescriptorVersion,                                                /*version*/                                            \
  1928.     kSelectorsAreNotIndexable,                                                /*RD flags: not dispatched*/                                            \
  1929.     0,                                                /*reserved1*/                                            \
  1930.     0,                                                /*reserved2*/                                            \
  1931.     0,                                                /*selector info*/                                            \
  1932.     0,                                                /*number of routines*/                                            \
  1933.     {                                                /*it's an array*/                                            \
  1934.         {                                            /*it's a structure*/                                            \
  1935.             (procInfo),                                        /*the procedure info*/                                            \
  1936.             0,                                        /*reserved*/                                            \
  1937.             kPowerPCISA,                                        /*ISA*/                                            \
  1938.             kProcDescriptorIsAbsolute |                                        /*flags: absolute address*/                                            \
  1939.             kFragmentIsPrepared |                                        /*it's prepared*/                                            \
  1940.             kUseNativeISA,                                        /*always use native ISA*/                                            \
  1941.             (ProcPtr)(procedure),                                        /*the procedure*/                                            \
  1942.             0,                                        /*reserved*/                                                \
  1943.             0,                                        /*not dispatched*/                                                \
  1944.         },                                                                                        \
  1945.     },                                                                                            \
  1946. }
  1947. IMPORTANT
  1948. You should use the BUILD_ROUTINE_DESCRIPTOR macro only to create a routine descriptor that describes a nondispatched routine 
  1949. that exists as PowerPC code.s
  1950. The Mixed Mode Manager also defines a C language macro that you can use to 
  1951. create static fat routine descriptors. See the Mixed Mode Manager interface file for 
  1952. the definition of the BUILD_FAT_ROUTINE_DESCRIPTOR macro.
  1953. Executing Resource-Based Code
  1954.  
  1955. As you’ve seen earlier in this book (in the section “Executable Resources” on page 1-34), you can create executable resources that contain PowerPC code to serve as accelerated versions of 680x0 code resources. The accelerated resource is simply a PowerPC version of the 680x0 code resource, prefixed with a routine descriptor for the code contained in the resource. The routine descriptor is necessary for the Mixed Mode Manager to know whether it needs to change modes in order to execute the code. The routine descriptor also lets the Mixed Mode Manager know whether it needs to call the Code Fragment Manager to prepare the fragment. Figure 2-8 shows the structure your code-containing resources should have.
  1956. Figure 2-8    General structure of an executable code resource
  1957.  
  1958. The procDescriptor field of the routine record—contained in the routineRecords field of the routine descriptor—should contain the offset from the beginning of the resource (that is, the beginning of the routine descriptor) to the beginning of the execut-
  1959. able code fragment. In addition, the routine flags for the specified code should have the kProcDescriptorIsRelative bit set, indicating that the address is relative, not absolute. If the code contained in the resource is PowerPC code, you should also set the kFragmentNeedsPreparing bit.
  1960. It’s also possible to create “fat” code-bearing resources, that is, resources containing both 680x0 and PowerPC versions of some routine. Figure 2-9 shows the general structure of such a resource.
  1961. Figure 2-9    General structure of a fat resource
  1962.  
  1963. In this case, the routine descriptor contains two routine records in its routineRecords field, one describing the 680x0 code and one describing the PowerPC code. As with any code-bearing resource, the procDescriptor field of each routine record should contain the offset from the beginning of the resource to the beginning of the appropriate code. The flags for both routine records should have the kProcDescriptorIsRelative flag set, and the routine flags for the PowerPC routine record should have the kFragmentNeedsPreparing flag set.
  1964. The MPW interface file MixedMode.r provides Rez templates that you can use to create the accelerated resource shown in Figure 2-8 or the fat resource shown in Figure 2-9.
  1965. sWARNING
  1966. Do not call accelerated resources at interrupt time unless you are certain that the resource has already been loaded into memory, locked, and prepared for execution. If the resource containing the code hasn’t 
  1967. been prepared, the Code Fragment Manager will attempt to do so, 
  1968. and thereby allocate memory. (Memory allocation is not allowed at 
  1969. interrupt time.)s
  1970.  
  1971. Mixed Mode Manager Reference
  1972.  
  1973. This section describes the constants, data structures, and routines provided by the Mixed Mode Manager. See “Using the Mixed Mode Manager” beginning on page 2-14 for detailed instructions on using these routines.
  1974. Constants
  1975.  
  1976. This section describes the constants provided by the Mixed Mode Manager. You use these constants to specify routine descriptor flags and a routine’s procedure information. Because the universal interface files define procedure information for the most common callback routines, it’s likely that you won’t need to use the procedure information constants listed here.
  1977. Routine Descriptor Flags
  1978.  
  1979. The routineDescriptorFlags field of a routine descriptor contains a set of routine descriptor flags that specify attributes of the described routine. You can use constants 
  1980. to specify the routine descriptor flags. In general, you should use the constant kSelectorsAreNotIndexable when constructing your own routine descriptors; the value kSelectorsAreIndexable is reserved for use by Apple.
  1981. enum {
  1982.     kSelectorsAreNotIndexable                                        = (RDFlagsType)0x00,
  1983.     kSelectorsAreIndexable                                        = (RDFlagsType)0x01
  1984. };
  1985. Constant descriptions
  1986. kSelectorsAreNotIndexable
  1987. For dispatched routines, the recognized routine selectors are 
  1988. not contiguous.
  1989. kSelectorsAreIndexable
  1990. For dispatched routines, the recognized routine selectors are contiguous and therefore indexable.
  1991. Procedure Information
  1992.  
  1993. The Mixed Mode Manager uses a long word of type ProcInfoType to encode a routine’s procedure information, which contains essential information about the calling conventions and other features of a routine. These values specify
  1994. n    the routine’s calling conventions
  1995. n    the sizes and locations of the routine’s parameters, if any
  1996. n    the size and location of the routine’s result, if any
  1997. See “Specifying Procedure Information” beginning on page 2-14 for a description of the general structure of a routine’s procedure information. The Mixed Mode Manager provides a number of constants that you can use to specify the procedure information.
  1998. The following constants are used to specify the size (in bytes) of a value encoded in a routine’s procedure information.
  1999. enum {
  2000.     /*size codes*/
  2001.     kNoByteCode                                        = 0,
  2002.     kOneByteCode                                        = 1,
  2003.     kTwoByteCode                                        = 2,
  2004.     kFourByteCode                                        = 3
  2005. };
  2006. Constant descriptions
  2007. kNoByteCode    The value occupies no bytes.
  2008. kOneByteCode    The value occupies 1 byte.
  2009. kTwoByteCode    The value occupies 2 bytes.
  2010. kFourByteCode    The value occupies 4 bytes.
  2011. The offsets to fields and the widths of the fields within a value of type ProcInfoType are defined by constants:
  2012. /*offsets to and widths of procedure information fields*/
  2013. #define kCallingConventionPhase                                                                        0
  2014. #define kCallingConventionWidth                                                                        4
  2015. #define kResultSizePhase                                                                        kCallingConventionWidth
  2016. #define kResultSizeWidth                                                                        2
  2017. #define kResultSizeMask                                                                        0x30
  2018. #define kStackParameterPhase                                                                        6
  2019. #define kStackParameterWidth                                                                        2
  2020. #define kRegisterResultLocationPhase                                                                        \
  2021.                                     (kCallingConventionWidth + kResultSizeWidth)
  2022. #define kRegisterResultLocationWidth                                                                        5
  2023. #define kRegisterParameterPhase                                                                        \
  2024.                                     (kCallingConventionWidth + kResultSizeWidth + \
  2025.                                         kRegisterResultLocationWidth)
  2026. #define kRegisterParameterWidth                                                                        5
  2027. #define kRegisterParameterWhichPhase                                                                        2
  2028. #define kRegisterParameterSizePhase                                                                        0
  2029. #define kDispatchedSelectorSizeWidth                                                                        2
  2030. #define kDispatchedSelectorSizePhase                                                                        \
  2031.                                     (kCallingConventionWidth + kResultSizeWidth)
  2032. #define kDispatchedParameterPhase                                                                        \
  2033.                                     (kCallingConventionWidth + kResultSizeWidth + \
  2034.                                         kDispatchedSelectorSizeWidth)
  2035. Constant descriptions
  2036. kCallingConventionPhase
  2037. The offset from the least significant bit in the procedure information to the calling convention information.
  2038. kCallingConventionWidth
  2039. The number of bits in the procedure information that encode the calling convention information.
  2040. kResultSizePhase
  2041. The offset from the least significant bit in the procedure information to the function result size information.
  2042. kResultSizeWidth
  2043. The number of bits in the procedure information that encode the function result size information.
  2044. kResultSizeMask
  2045. A mask for the bits in the procedure information that encode the function result size information.
  2046. kStackParameterPhase
  2047. The offset from the least significant bit in the procedure information to the stack parameter information.
  2048. kStackParameterWidth
  2049. The number of bits in the procedure information that encode the size of a stack-based parameter.
  2050. kRegisterResultLocationPhase
  2051. The offset from the least significant bit in the procedure information to the result register information.
  2052. kRegisterResultLocationWidth
  2053. The number of bits in the procedure information that encode which register the result will be stored in.
  2054. kRegisterParameterPhase
  2055. The offset from the least significant bit in the procedure information to the register parameter information.
  2056. kRegisterParameterWidth
  2057. The number of bits in the procedure information that encode the information about a register-based parameter.
  2058. kRegisterParameterWhichPhase
  2059. The offset from the beginning of a register parameter information field to the encoded register.
  2060. kRegisterParameterSizePhase
  2061. The offset from the beginning of a register parameter information field to the encoded size of the parameter.
  2062. kDispatchedSelectorSizeWidth
  2063. The number of bits in the procedure information that encode the size of a routine-dispatching selector.
  2064. kDispatchedSelectorSizePhase
  2065. The offset from the least significant bit in the procedure information to the selector size information of a routine that is dispatched though a selector.
  2066. kDispatchedParameterPhase
  2067. The offset from the least significant bit in the procedure information to the parameter information of a routine that is dispatched though a selector.
  2068. The following constants are used to specify a routine’s calling conventions:
  2069. enum {
  2070.     /*calling conventions*/
  2071.     kPascalStackBased                                                = (CallingConventionType)0,
  2072.     kCStackBased                                                = (CallingConventionType)1,
  2073.     kRegisterBased                                                = (CallingConventionType)2,
  2074.     kThinkCStackBased                                                = (CallingConventionType)5,
  2075.     kD0DispatchedPascalStackBased                                                = (CallingConventionType)8,
  2076.     kD0DispatchedCStackBased                                                = (CallingConventionType)9,
  2077.     kD1DispatchedPascalStackBased                                                = (CallingConventionType)12,
  2078.     kStackDispatchedPascalStackBased                                                = (CallingConventionType)14,
  2079.     kSpecialCase                                                = (CallingConventionType)15
  2080. };
  2081. Constant descriptions
  2082. kPascalStackBased
  2083. The routine follows normal Pascal calling conventions.
  2084. kCStackBased    The routine follows the C calling conventions employed by the MPW development environment.
  2085. kRegisterBased
  2086. The parameters are passed in registers.
  2087. kThinkCStackBased
  2088. The routine follows the C calling conventions employed by the THINK C software development environment. Arguments are passed on the stack from right to left, and a result is returned in register D0. All arguments occupy an even number of bytes on 
  2089. the stack. An argument having the size of a char is passed in the high-order byte. You should always provide function prototypes; failure to do so may cause THINK C to generate code that is incompatible with this parameter-passing convention.
  2090. kD0DispatchedPascalStackBased
  2091. The parameters are passed on the stack according to Pascal conventions, and the routine selector is passed in register D0.
  2092. kD0DispatchedCStackBased
  2093. The parameters are passed on the stack according to C conventions, and the routine selector is passed in register D0.
  2094. kD1DispatchedPascalStackBased
  2095. The parameters are passed on the stack according to Pascal conventions, and the routine selector is passed in register D1.
  2096. kStackDispatchedPascalStackBased
  2097. The routine selector and the parameters are passed on the stack.
  2098. kSpecialCase    The routine is a special case. You can use the following constants to specify a special case.
  2099. enum {
  2100.     /*special cases*/
  2101.     kSpecialCaseHighHook                                        = 0,
  2102.     kSpecialCaseCaretHook                                        = kSpecialCaseHighHook,
  2103.     kSpecialCaseEOLHook                                        = 1,
  2104.     kSpecialCaseWidthHook                                        = 2,
  2105.     kSpecialCaseNWidthHook                                        = 3,
  2106.     kSpecialCaseTextWidthHook                                        = kSpecialCaseWidthHook,
  2107.     kSpecialCaseDrawHook                                        = 4,
  2108.     kSpecialCaseHitTestHook                                        = 5,
  2109.     kSpecialCaseTEFindWord                                        = 6,
  2110.     kSpecialCaseProtocolHandler                                        = 7,
  2111.     kSpecialCaseSocketListener                                        = 8,
  2112.     kSpecialCaseTERecalc                                        = 9,
  2113.     kSpecialCaseTEDoText                                        = 10,
  2114.     kSpecialCaseGNEFilterProc                                        = 11,
  2115.     kSpecialCaseMBarHook                                        = 12
  2116. };
  2117. Constant descriptions
  2118. kSpecialCaseHighHook
  2119. The routine follows the calling conventions documented in Inside Macintosh: Text; a rectangle is on the stack and a pointer is in register A3; no result is returned.
  2120. kSpecialCaseCaretHook
  2121. The routine follows the calling conventions documented in Inside Macintosh: Text; a rectangle is on the stack and a pointer is in register A3; no result is returned.
  2122. kSpecialCaseEOLHook
  2123. Parameters are passed to the routine in registers A3, A4, and D0, and output is returned in the Z flag of the Status Register. An EOLHook routine has these calling conventions.
  2124. kSpecialCaseWidthHook
  2125. Parameters are passed to the routine in registers A0, A3, A4, D0, and D1, and output is returned in register D1. A WIDTHHook routine has these calling conventions.
  2126. kSpecialCaseNWidthHook
  2127. Parameters are passed to the routine in registers A0, A2, A3, A4, D0, and D1, and output is returned in register D1. An nWIDTHHook routine has these calling conventions.
  2128. kSpecialCaseTextWidthHook
  2129. Parameters are passed to the routine in registers A0, A3, A4, D0, and D1, and output is returned in register D1. A TextWidthHook routine has these calling conventions.
  2130. kSpecialCaseDrawHook
  2131. Parameters are passed to the routine in registers A0, A3, A4, D0, and D1, and no result is returned. A DRAWHook routine has these calling conventions.
  2132. kSpecialCaseHitTestHook
  2133. Parameters are passed to the routine in registers A0, A3, A4, D0, D1, and D2, and output is returned in registers D0, D1, and D2. A HITTESTHook routine has these calling conventions.
  2134. kSpecialCaseTEFindWord
  2135. Parameters are passed to the routine in registers A3, A4, D0, and D2, and output is returned in registers D0 and D1. A TEFindWord hook has these calling conventions.
  2136. kSpecialCaseProtocolHandler
  2137. Parameters are passed to the routine in registers A0, A1, A2, A3, A4, and in the low-order word of register D1; output is returned in the Z flag of the Status Register. A protocol handler has these calling conventions.
  2138. kSpecialCaseSocketListener
  2139. Parameters are passed to the routine in registers A0, A1, A2, A3, A4, in the low-order byte of register D0, and in the low-order word of register D1; output is returned in the Z flag of the Status Register. A socket listener has these calling conventions.
  2140. kSpecialCaseTERecalc
  2141. Parameters are passed to the routine in registers A3 and D7, and output is returned in registers D2, D3, and D4. A TextEdit line-start recalculation routine has these calling conventions.
  2142. kSpecialCaseTEDoText
  2143. Parameters are passed to the routine in registers A3, D3, D4, and D7, and output is returned in registers A0 and D0. A TextEdit text-display, hit-test, and caret-positioning routine has these calling conventions.
  2144. kSpecialCaseGNEFilterProc
  2145. Parameters are passed to the routine in registers A1 and D0 and on the stack, and output is returned on the stack. A GetNextEvent filter procedure has these calling conventions.
  2146. kSpecialCaseMBarHook
  2147. Parameters are passed to the routine on the stack, and output is returned in register D0. A menu bar hook routine has these calling conventions.
  2148. For register-based routines, the registers are encoded in the routine’s procedure information using these constants:
  2149. enum {
  2150.     /*680x0 registers*/
  2151.     kRegisterD0                                        = 0,
  2152.     kRegisterD1                                        = 1,
  2153.     kRegisterD2                                        = 2,
  2154.     kRegisterD3                                        = 3,
  2155.     kRegisterD4                                        = 8,
  2156.     kRegisterD5                                        = 9,
  2157.     kRegisterD6                                        = 10,
  2158.     kRegisterD7                                        = 11,
  2159.     kRegisterA0                                        = 4,
  2160.     kRegisterA1                                        = 5,
  2161.     kRegisterA2                                        = 6,
  2162.     kRegisterA3                                        = 7,
  2163.     kRegisterA4                                        = 12,
  2164.     kRegisterA5                                        = 13,
  2165.     kRegisterA6                                        = 14,
  2166.     kCCRegisterCBit                                        = 16,
  2167.     kCCRegisterVBit                                        = 17,
  2168.     kCCRegisterZBit                                        = 18,
  2169.     kCCRegisterNBit                                        = 19,
  2170.     kCCRegisterXBit                                        = 20
  2171. };
  2172. Constant descriptions
  2173. kRegisterD0    Register D0.
  2174. kRegisterD1    Register D1.
  2175. kRegisterD2    Register D2.
  2176. kRegisterD3    Register D3.
  2177. kRegisterD4    Register D4.
  2178. kRegisterD5    Register D5.
  2179. kRegisterD6    Register D6.
  2180. kRegisterD7    Register D7.
  2181. kRegisterA0    Register A0.
  2182. kRegisterA1    Register A1.
  2183. kRegisterA2    Register A2.
  2184. kRegisterA3    Register A3.
  2185. kRegisterA4    Register A4.
  2186. kRegisterA5    Register A5.
  2187. kRegisterA6    Register A6.
  2188. kCCRegisterCBit
  2189. The C (carry) flag of the Status Register.
  2190. kCCRegisterVBit
  2191. The V (overflow) flag of the Status Register.
  2192. kCCRegisterZBit
  2193. The Z (zero) flag of the Status Register.
  2194. kCCRegisterNBit
  2195. The N (negative) flag of the Status Register.
  2196. kCCRegisterXBit
  2197. The X (extend) flag of the Status Register.
  2198. Routine Flags
  2199.  
  2200. The routineFlags field of a routine record contains a set of flags that specify informa-
  2201. tion about a routine. You can use constants to specify the desired routine flags. Currently, only 5 of the 16 bits in a routine flags word are defined. You should set all the other 
  2202. bits to 0.
  2203. enum {
  2204.     kProcDescriptorIsAbsolute                                        = (RoutineFlagsType)0x00,
  2205.     kProcDescriptorIsRelative                                        = (RoutineFlagsType)0x01
  2206. };
  2207. Constant descriptions
  2208. kProcDescriptorIsAbsolute
  2209. The address of the routine’s entry point specified in the procDescriptor field of a routine record is an absolute address.
  2210. kProcDescriptorIsRelative
  2211. The address of the routine’s entry point specified in the procDescriptor field of a routine record is relative to the beginning of the routine descriptor. If the code is contained in a resource and its absolute location is not known until run time, you should set this flag.
  2212. enum {
  2213.     kFragmentIsPrepared                                        = (RoutineFlagsType)0x00,
  2214.     kFragmentNeedsPreparing                                        = (RoutineFlagsType)0x02
  2215. };
  2216. Constant descriptions
  2217. kFragmentIsPrepared
  2218. The fragment containing the code to be executed is already loaded into memory and prepared by the Code Fragment Manager.
  2219. kFragmentNeedsPreparing
  2220. The fragment containing the code to be executed needs to be loaded into memory and prepared by the Code Fragment Manager. If this flag is set, the kPowerPCISA and kProcDescriptorIsRelative flags should also be set.
  2221. enum {
  2222.     kUseCurrentISA                                        = (RoutineFlagsType)0x00,
  2223.     kUseNativeISA                                        = (RoutineFlagsType)0x04
  2224. };
  2225. Constant descriptions
  2226. kUseCurrentISA    If possible, use the current instruction set architecture when executing a routine.
  2227. kUseNativeISA    Use the native instruction set architecture when executing a routine.
  2228. enum {
  2229.     kPassSelector                                        = (RoutineFlagsType)0x00,
  2230.     kDontPassSelector                                        = (RoutineFlagsType)0x08
  2231. };
  2232. Constant descriptions
  2233. kPassSelector    Pass the routine selector to the target routine as a parameter.
  2234. kDontPassSelector
  2235. Do not pass the routine selector to the target routine as a parameter. You should not use this flag for 680x0 routines.
  2236. enum {
  2237.     kRoutineIsNotDispatchedDefaultRoutine
  2238.                                             = (RoutineFlagsType)0x00,
  2239.     kRoutineIsDispatchedDefaultRoutine
  2240.                                             = (RoutineFlagsType)0x10
  2241. };
  2242. Constant descriptions
  2243. kRoutineIsNotDispatchedDefaultRoutine
  2244. This routine is not the default routine for a set of routines that is dispatched using a routine selector.
  2245. kRoutineIsDispatchedDefaultRoutine
  2246. This routine is the default routine for a set of routines that is dispatched using a routine selector. If a set of routines is dispatched using a routine selector and the routine corresponding to a specified selector cannot be found, this default routine is called. This routine must be able to accept the same procedure information for all routines. If possible, it is passed the procedure information passed in a call to CallUniversalProc.
  2247. IMPORTANT
  2248. In general, you should use the constants kPassSelector and kRoutineIsNotDispatchedDefaultRoutine. The constants kDontPassSelector and kRoutineIsDispatchedDefaultRoutine are reserved for use with selector-based system software routines.s
  2249. Instruction Set Architectures
  2250.  
  2251. The ISA field of a routine record contains a flag that specifies the instruction set architecture of a routine. You can use constants to specify the instruction set architecture.
  2252. enum {
  2253.     kM68kISA                                        = (ISAType)0,                        /*MC680x0 architecture*/
  2254.     kPowerPCISA                                        = (ISAType)1                        /*PowerPC architecture*/
  2255. };
  2256. Constant descriptions
  2257. kM68kISA    The routine consists of 680x0 code.
  2258. kPowerPCISA    The routine consists of PowerPC code.
  2259. Data Structures
  2260.  
  2261. This section describes the two data structures provided by the Mixed Mode Manager:
  2262. n    the routine record, which contains information about a routine’s calling conventions, the sizes and locations of its parameters, and its location in memory
  2263. n    the routine descriptor, which provides a generalization of procedure pointers (variables of type ProcPtr) common in the 680x0 environment
  2264. Routine Records
  2265.  
  2266. A routine record is a data structure that contains information about a particular routine. The routine descriptor specifies, among other things, the instruction set architecture 
  2267. of the routine, the number and size of the routine’s parameters, the routine’s calling conventions, and the routine’s location in memory. At least one routine record is contained in the routineRecords field of a routine descriptor. A routine record is defined by the RoutineRecord data type.
  2268. struct RoutineRecord {
  2269.     ProcInfoType                            procInfo;                        /*calling conventions*/
  2270.     unsigned char                            reserved1;                        /*reserved*/
  2271.     ISAType                            ISA;                        /*instruction set architecture*/
  2272.     RoutineFlagsType                            routineFlags;                        /*flags for each routine*/
  2273.     ProcPtr                            procDescriptor;                        /*the thing we're calling*/
  2274.     unsigned long                            reserved2;                        /*reserved*/
  2275.     unsigned long                            selector;                        /*selector for dispatched calls*/
  2276. };
  2277. typedef struct RoutineRecord RoutineRecord;
  2278. typedef RoutineRecord *RoutineRecordPtr, **RoutineRecordHandle;
  2279. Field descriptions
  2280. procInfo    A value of type ProcInfoType that encodes essential information about the routine’s calling conventions and parameters. See “Procedure Information” beginning on page 2-27 for a complete list of the constants you can use to set this field.
  2281. reserved1    Reserved. This field must be 0.
  2282. ISA    The instruction set architecture of the routine. See “Instruction Set Architectures” beginning on page 2-35 for a complete listing of the constants you can use to set this field.
  2283. routineFlags    A value of type RoutineFlagsType that contains a set of flags describing the routine. See “Routine Flags” beginning on page 2-34 for a complete listing of the constants you can use to set this field.
  2284. procDescriptor
  2285. A pointer to the routine’s code. If the routine consists of 680x0 
  2286. code and the kProcDescriptorIsAbsolute flag is set in the routineFlags field, then this field contains the address of the routine’s entry point. If the routine consists of 680x0 code and the kProcDescriptorIsRelative flag is set, then this field contains the offset from the beginning of the routine descriptor to the routine’s entry point. If the routine consists of PowerPC code, 
  2287. the kFragmentIsPrepared flag is set, and the kProcDescriptorIsAbsolute flag is set, then this field contains the address of the routine’s transition vector. If the routine consists of PowerPC code, the kFragmentNeedsPreparing flag is set, 
  2288. and the kProcDescriptorIsRelative flag is set, then this field contains the offset from the beginning of the routine descriptor to the routine’s entry point.
  2289. reserved2    Reserved. This field must be 0.
  2290. selector    Reserved. This field must be 0. For routines that are dispatched, this field contains the routine selector.
  2291. Routine Descriptors
  2292.  
  2293. A routine descriptor is a data structure used by the Mixed Mode Manager to execute a routine. The external interface to a routine descriptor is through a universal procedure pointer, of type UniversalProcPtr, which is defined as a procedure pointer (if the code is 680x0 code) or as a pointer to a routine descriptor (if the code is PowerPC code). A routine descriptor is defined by the RoutineDescriptor data type.
  2294. struct RoutineDescriptor {
  2295.     unsigned short                            goMixedModeTrap;                        /*mixed-mode A-trap*/
  2296.     char                            version;                        /*routine descriptor version*/
  2297.     RDFlagsType                            routineDescriptorFlags;
  2298.                                                         /*routine descriptor flags*/
  2299.     unsigned long                            reserved1;                        /*reserved*/
  2300.     unsigned char                            reserved2;                        /*reserved*/
  2301.     unsigned char                            selectorInfo;                        /*selector information*/
  2302.     short                            routineCount;                        /*index of last RR in this RD*/
  2303.     RoutineRecord                            routineRecords[1];            /*the individual routines*/
  2304. };
  2305. typedef struct RoutineDescriptor RoutineDescriptor;
  2306. Field descriptions
  2307. Field descriptions
  2308. goMixedModeTrap
  2309. An A-line instruction that is used privately by the Mixed Mode Manager. When the emulator encounters this instruction, it transfers control to the Mixed Mode Manager. This field contains the value $AAFE.
  2310. version    The version number of the RoutineDescriptor data type. The current version number is defined by the constant kRoutineDescriptorVersion:
  2311.                     enum {kRoutineDescriptorVersion = 7};
  2312. routineDescriptorFlags
  2313. A set of routine descriptor flags. Currently, all the bits in this field should be set to 0, unless you are specifying a routine descriptor for a dispatched routine. See “Routine Descriptor Flags” on page 2-27 for a complete description of these flags.
  2314. reserved1    Reserved. This field must initially be 0.
  2315. reserved2    Reserved. This field must be 0.
  2316. selectorInfo    Reserved. This field must be 0.
  2317. routineCount    The index of the final routine record in the following array, routineRecords. Because the routineRecords array is zero-
  2318. based, this field does not contain an actual count of the routine records contained in that array. Often, you’ll use a routine descriptor to describe a single procedure, in which case this field should contain the value 0. You can, however, construct a routine descriptor that contains pointers to both 680x0 and PowerPC code (known as a “fat” routine descriptor). In that case, this field should contain the value 1.
  2319. routineRecords
  2320. An array of routine records for the routines described by this routine descriptor. See “Routine Records” on page 2-36 for the structure of a routine record. This array is zero-based.
  2321. IMPORTANT
  2322. Your application (or other software) should never attempt to guide its execution by inspecting the value in the ISA field of a routine record and jumping to the address in the procDescriptor field.s
  2323. Mixed Mode Manager Routines
  2324.  
  2325. This section describes the routines provided by the Mixed Mode Manager. You can use these routines to
  2326. n    create and dispose of routine descriptors
  2327. n    execute routines described by routine descriptors
  2328. In general, you need to call these routines only from PowerPC code. To maintain a single source code base for your software, however, you can call Mixed Mode Manager routines from 680x0 code, as long as you set the USESROUTINEDESCRIPTORS compiler flag to false (its default setting). To compile code for the PowerPC environment, you should set the USESROUTINEDESCRIPTORS flag to true.
  2329. See “Using the Mixed Mode Manager” beginning on page 2-14 for detailed instructions on using these routines.
  2330. Creating and Disposing of Routine Descriptors
  2331.  
  2332. The Mixed Mode Manager provides routines that you can use to create and dispose of routine descriptors. In general, you need to create routine descriptors only for routines whose addresses are exported to the system software (for example, a completion procedure). You don’t need to create a routine descriptor for a routine that is called by code of the same type.
  2333. NewRoutineDescriptor
  2334.  
  2335. You can call the NewRoutineDescriptor function to create a new routine descriptor.
  2336. pascal UniversalProcPtr NewRoutineDescriptor 
  2337.                             (ProcPtr theProc, ProcInfoType theProcInfo, 
  2338.                                 ISAType theISA);
  2339. theProc    The address of the routine.
  2340. theProcInfo
  2341. The procedure information to be associated with the routine.
  2342. theISA    The instruction set architecture of the routine being described.
  2343. DESCRIPTION
  2344. The NewRoutineDescriptor function creates a new routine descriptor and returns a pointer (of type UniversalProcPtr) to it. If the value of the theProc parameter is NULL, NewRoutineDescriptor returns the value NULL.
  2345. The memory occupied by the new routine descriptor is allocated in the current heap. If you want the memory to be allocated in some other heap, you’ll need to set the current heap to that heap and then restore the current heap before exiting.
  2346. SPECIAL CONSIDERATIONS
  2347. The NewRoutineDescriptor function allocates memory; you should not call it at interrupt time or from any code that might be executed when memory is low. In addition, the block of memory allocated by NewRoutineDescriptor is nonrelocatable. To help minimize heap fragmentation, you should try to allocate any routine descriptors you will need early in your application’s execution.
  2348. When the USESROUTINEDESCRIPTORS compile flag is false, the NewRoutineDescriptor function simply returns the address passed in 
  2349. the theProc parameter and does not allocate memory for a routine descriptor.
  2350. SEE ALSO
  2351. See “Using Universal Procedure Pointers” beginning on page 2-21 for a more complete description of when and how to create routine descriptors. See “Specifying Procedure Information” beginning on page 2-14 for information on creating procedure information.
  2352. NewFatRoutineDescriptor
  2353.  
  2354. You can call the NewFatRoutineDescriptor function to create a new fat routine descriptor.
  2355. pascal UniversalProcPtr NewFatRoutineDescriptor 
  2356.                             (ProcPtr theM68kProc, ProcPtr thePowerPCProc, 
  2357.                                 ProcInfoType theProcInfo);
  2358. theM68kProc
  2359. The address of a 680x0 routine.
  2360. thePowerPCProc
  2361. The address of a PowerPC routine.
  2362. theProcInfo
  2363. The procedure information to be associated with the routine.
  2364. DESCRIPTION
  2365. The NewFatRoutineDescriptor function creates a new fat routine descriptor and returns a pointer (of type UniversalProcPtr) to it. The routine descriptor contains routine records for both 680x0 and PowerPC versions of a routine. If the value of either the theM68kProc parameter or the thePowerPCProc parameter is NULL, NewFatRoutineDescriptor returns the value NULL.
  2366. The memory occupied by the new routine descriptor is allocated in the current heap. If you want the memory to be allocated in some other heap, you’ll need to set the current heap to that heap and then restore the original heap before exiting.
  2367. SPECIAL CONSIDERATIONS
  2368. The NewFatRoutineDescriptor function allocates memory; you should not call it at interrupt time or from any code that might be executed when memory is low. In addition, the block of memory allocated by NewFatRoutineDescriptor is nonrelocatable. To help minimize heap fragmentation, you should try to allocate any routine descriptors you will need early in your application’s execution.
  2369. When the USESROUTINEDESCRIPTORS compile flag is false, the NewFatRoutineDescriptor function is undefined.
  2370. SEE ALSO
  2371. See “Using Universal Procedure Pointers” beginning on page 2-21 for a more complete description of when and how to create routine descriptors. See “Specifying Procedure Information” beginning on page 2-14 for information on creating procedure information.
  2372. DisposeRoutineDescriptor
  2373.  
  2374. You can call the DisposeRoutineDescriptor function to dispose of a routine descriptor.
  2375. pascal void DisposeRoutineDescriptor 
  2376.                                             (UniversalProcPtr theProcPtr);
  2377. theProcPtr
  2378. A universal procedure pointer.
  2379. DESCRIPTION
  2380. The DisposeRoutineDescriptor function disposes of the routine descriptor pointed to by the theProcPtr parameter. You should call this function to release any memory allocated by a previous call to NewRoutineDescriptor.
  2381. The Operating System automatically disposes of any remaining routine descriptors held by your application when ExitToShell is executed on its behalf. As a result, you don’t need to explicitly dispose of any routine descriptors that you have allocated in your application heap.
  2382. SPECIAL CONSIDERATIONS
  2383. Be careful not to dispose of a routine descriptor that is still in use by the Operating System. Code that installs completion routines or other routines called asynchronously may complete before the completion routine is actually called.
  2384. When the USESROUTINEDESCRIPTORS compile flag is false, the DisposeRoutineDescriptor function does nothing.
  2385. Calling Routines via Universal Procedure Pointers
  2386.  
  2387. The Mixed Mode Manager provides a function that allows you to execute the routine associated with a universal procedure pointer. It also provides a function that allows you to call the routine associated with a universal procedure pointer, following Operating System register saving and restoring conventions.
  2388. CallUniversalProc
  2389.  
  2390. You can use the CallUniversalProc function to call the routine associated with a universal procedure pointer.
  2391. long CallUniversalProc (UniversalProcPtr theProcPtr, 
  2392.                                     ProcInfoType theProcInfo, ...);
  2393. theProcPtr
  2394. A universal procedure pointer.
  2395. theProcInfo
  2396. The procedure information associated with the routine specified by the theProcPtr parameter.
  2397. DESCRIPTION
  2398. The CallUniversalProc function executes the routine associated with the specified universal procedure pointer. You pass CallUniversalProc a universal procedure pointer (which may be either a 680x0 procedure pointer or the address of the routine descriptor), a set of procedure information, and a variable number of parameters that are passed to the routine. CallUniversalProc returns a result of type long that contains the result (if any) returned by the called routine.
  2399. SPECIAL CONSIDERATIONS
  2400. If the universal procedure pointer passed to CallUniversalProc is the address 
  2401. of the routine descriptor, that routine descriptor must already exist before you call CallUniversalProc. If you pass the address of an invalid routine descriptor to CallUniversalProc, a system error will occur.
  2402. CallOSTrapUniversalProc
  2403.  
  2404. You can call the CallOSTrapUniversalProc function to call the routine associated with a universal procedure pointer, following Operating System register saving and restoring conventions. You’re likely to need to use this function only if you need to patch an Operating System trap.
  2405. long CallOSTrapUniversalProc (UniversalProcPtr theProcPtr, 
  2406.                                         ProcInfoType theProcInfo, ...);
  2407. theProcPtr
  2408. A universal procedure pointer.
  2409. theProcInfo
  2410. The procedure information associated with the routine specified by the theProcPtr parameter.
  2411. DESCRIPTION
  2412. The CallOSTrapUniversalProc function executes the routine associated with the specified universal procedure pointer, following standard conventions for executing Operating System traps. Registers A1, A2, D1, and D2 are saved before the routine is executed and restored after its completion; in addition, register A0 is saved and restored, depending on the setting of the appropriate flag bit in the trap word. The trap number 
  2413. is put into register D1; you should make certain to record that fact in any procedure information you build yourself.
  2414. You pass CallOSTrapUniversalProc a universal procedure pointer (which may be either a 680x0 procedure pointer or the address of a routine descriptor), a set of procedure information, and a variable number of parameters that are passed to the routine. CallOSTrapUniversalProc returns a result of type long that contains the result (if any) returned by the called routine.
  2415. SPECIAL CONSIDERATIONS
  2416. If the universal procedure pointer passed to CallOSTrapUniversalProc is the address of the routine descriptor, that routine descriptor must already exist before you call CallOSTrapUniversalProc. If you pass the address of an invalid routine descriptor 
  2417. to CallOSTrapUniversalProc, a system error will occur.
  2418. The CallOSTrapUniversalProc function is defined only for register-based Operating System traps. Make sure that the procedure information specified in the theProcInfo parameter correctly specifies the calling conventions of the trap. In particular, do not specify either C or Pascal calling conventions.
  2419. Determining Instruction Set Architectures
  2420.  
  2421. The Mixed Mode Manager contains a function that you can use to determine the current instruction set architecture.
  2422. GetCurrentISA
  2423.  
  2424. You can use the GetCurrentISA function to get the current instruction set architecture.
  2425. ISAType GetCurrentISA (void);
  2426. DESCRIPTION
  2427. The GetCurrentISA function returns the current instruction set architecture. See “Instruction Set Architectures” on page 2-35 for a list of the values GetCurrentISA 
  2428. can return.
  2429. SPECIAL CONSIDERATIONS
  2430. Currently, the GetCurrentISA function is defined as a compiler macro.
  2431. #if defined(powerc) || defined(__powerc)
  2432. #define GetCurrentISA()                                        ((ISAType) kPowerPCISA)
  2433. #else
  2434. #define GetCurrentISA()                                        ((ISAType) kM68kISA)
  2435. #endif
  2436. The implementation details are subject to change. 
  2437.  
  2438.  
  2439. Summary of the Mixed Mode Manager
  2440.  
  2441. C Summary
  2442.  
  2443. Constants
  2444.  
  2445. /*Gestalt selector and response bits*/
  2446. #define gestaltMixedModeAttr                                            'mixd'            /*Mixed Mode Mgr attributes*/
  2447. enum {
  2448.     gestaltPowerPCAware                                        = 0            /*true if MMMgr supports PowerPC*/
  2449. };
  2450. enum {
  2451.     /*current version of RoutineDescriptor data type*/
  2452.     kRoutineDescriptorVersion                                        = 7
  2453. };
  2454. Routine Flags
  2455. enum {
  2456.     kProcDescriptorIsAbsolute                                        = (RoutineFlagsType)0x00,
  2457.     kProcDescriptorIsRelative                                        = (RoutineFlagsType)0x01
  2458. };
  2459. enum {
  2460.     kFragmentIsPrepared                                        = (RoutineFlagsType)0x00,
  2461.     kFragmentNeedsPreparing                                        = (RoutineFlagsType)0x02
  2462. };
  2463. enum {
  2464.     kUseCurrentISA                                        = (RoutineFlagsType)0x00,
  2465.     kUseNativeISA                                        = (RoutineFlagsType)0x04
  2466. };
  2467. enum {
  2468.     kPassSelector                                        = (RoutineFlagsType)0x00,
  2469.     kDontPassSelector                                        = (RoutineFlagsType)0x08
  2470. };
  2471. enum {
  2472.     kRoutineIsNotDispatchedDefaultRoutine
  2473.                                             = (RoutineFlagsType)0x00,
  2474.     kRoutineIsDispatchedDefaultRoutine
  2475.                                             = (RoutineFlagsType)0x10
  2476. };
  2477. Instruction Set Architectures
  2478. enum {
  2479.     kM68kISA                                        = (ISAType)0,                        /*MC680x0 architecture*/
  2480.     kPowerPCISA                                        = (ISAType)1                        /*PowerPC architecture*/
  2481. };
  2482. Routine Descriptor Flags
  2483. enum {
  2484.     kSelectorsAreNotIndexable                                        = (RDFlagsType)0x00,
  2485.     kSelectorsAreIndexable                                        = (RDFlagsType)0x01
  2486. };
  2487. Procedure Information
  2488. enum {
  2489.     /*size codes*/
  2490.     kNoByteCode                                        = 0,
  2491.     kOneByteCode                                        = 1,
  2492.     kTwoByteCode                                        = 2,
  2493.     kFourByteCode                                        = 3
  2494. };
  2495. /*offsets to and widths of procedure information fields*/
  2496. #define kCallingConventionPhase                                                                        0
  2497. #define kCallingConventionWidth                                                                        4
  2498. #define kResultSizePhase                                                                        kCallingConventionWidth
  2499. #define kResultSizeWidth                                                                        2
  2500. #define kResultSizeMask                                                                        0x30
  2501. #define kStackParameterPhase                                                                        6
  2502. #define kStackParameterWidth                                                                        2
  2503. #define kRegisterResultLocationPhase                                                                        \
  2504.                                     (kCallingConventionWidth + kResultSizeWidth)
  2505. #define kRegisterResultLocationWidth                                                                        5
  2506.  
  2507.  
  2508. #define kRegisterParameterPhase                                                                        \
  2509.                                     (kCallingConventionWidth + kResultSizeWidth + \
  2510.                                         kRegisterResultLocationWidth)
  2511. #define kRegisterParameterWidth                                                                        5
  2512. #define kRegisterParameterWhichPhase                                                                        2
  2513. #define kRegisterParameterSizePhase                                                                        0
  2514. #define kDispatchedSelectorSizeWidth                                                                        2
  2515. #define kDispatchedSelectorSizePhase                                                                        \
  2516.                                     (kCallingConventionWidth + kResultSizeWidth)
  2517. #define kDispatchedParameterPhase                                                                        \
  2518.                                     (kCallingConventionWidth + kResultSizeWidth + \
  2519.                                         kDispatchedSelectorSizeWidth)
  2520. enum {
  2521.     /*calling conventions*/
  2522.     kPascalStackBased                                                = (CallingConventionType)0,
  2523.     kCStackBased                                                = (CallingConventionType)1,
  2524.     kRegisterBased                                                = (CallingConventionType)2,
  2525.     kThinkCStackBased                                                = (CallingConventionType)5,
  2526.     kD0DispatchedPascalStackBased                                                = (CallingConventionType)8,
  2527.     kD0DispatchedCStackBased                                                = (CallingConventionType)9,
  2528.     kD1DispatchedPascalStackBased                                                = (CallingConventionType)12,
  2529.     kStackDispatchedPascalStackBased                                                = (CallingConventionType)14,
  2530.     kSpecialCase                                                = (CallingConventionType)15
  2531. };
  2532. enum {
  2533.     /*special cases*/
  2534.     kSpecialCaseHighHook                                        = 0,
  2535.     kSpecialCaseCaretHook                                        = kSpecialCaseHighHook,
  2536.     kSpecialCaseEOLHook                                        = 1,
  2537.     kSpecialCaseWidthHook                                        = 2,
  2538.     kSpecialCaseNWidthHook                                        = 3,
  2539.     kSpecialCaseTextWidthHook                                        = kSpecialCaseWidthHook,
  2540.     kSpecialCaseDrawHook                                        = 4,
  2541.     kSpecialCaseHitTestHook                                        = 5,
  2542.     kSpecialCaseTEFindWord                                        = 6,
  2543.     kSpecialCaseProtocolHandler                                        = 7,
  2544.     kSpecialCaseSocketListener                                        = 8,
  2545.     kSpecialCaseTERecalc                                        = 9,
  2546.     kSpecialCaseTEDoText                                        = 10,
  2547.     kSpecialCaseGNEFilterProc                                        = 11,
  2548.     kSpecialCaseMBarHook                                        = 12
  2549. };
  2550. enum {
  2551.     /*680x0 registers*/
  2552.     kRegisterD0                                        = 0,
  2553.     kRegisterD1                                        = 1,
  2554.     kRegisterD2                                        = 2,
  2555.     kRegisterD3                                        = 3,
  2556.     kRegisterD4                                        = 8,
  2557.     kRegisterD5                                        = 9,
  2558.     kRegisterD6                                        = 10,
  2559.     kRegisterD7                                        = 11,
  2560.     kRegisterA0                                        = 4,
  2561.     kRegisterA1                                        = 5,
  2562.     kRegisterA2                                        = 6,
  2563.     kRegisterA3                                        = 7,
  2564.     kRegisterA4                                        = 12,
  2565.     kRegisterA5                                        = 13,
  2566.     kRegisterA6                                        = 14,
  2567.     kCCRegisterCBit                                        = 16,
  2568.     kCCRegisterVBit                                        = 17,
  2569.     kCCRegisterZBit                                        = 18,
  2570.     kCCRegisterNBit                                        = 19,
  2571.     kCCRegisterXBit                                        = 20
  2572. };
  2573. Data Types
  2574.  
  2575. typedef unsigned char ISAType;                                                        /*instruction set architecture*/
  2576. typedef unsigned short CallingConventionType;                                                                /*calling convention*/
  2577. typedef unsigned long ProcInfoType;                                                        /*procedure information*/
  2578. typedef unsigned short RegisterSelectorType;
  2579. typedef unsigned short RoutineFlagsType;
  2580. struct RoutineRecord {
  2581.     ProcInfoType                            procInfo;                        /*calling conventions*/
  2582.     unsigned char                            reserved1;                        /*reserved*/
  2583.     ISAType                            ISA;                        /*instruction set architecture*/
  2584.     RoutineFlagsType                            routineFlags;                        /*flags for each routine*/
  2585.     ProcPtr                            procDescriptor;                        /*the thing we're calling*/
  2586.     unsigned long                            reserved2;                        /*reserved*/
  2587.     unsigned long                            selector;                        /*selector for dispatched calls*/
  2588. };
  2589. typedef struct RoutineRecord RoutineRecord;
  2590. typedef RoutineRecord *RoutineRecordPtr, **RoutineRecordHandle;
  2591. typedef unsigned char RDFlagsType;                                                        /*routine descriptor flags*/
  2592. struct RoutineDescriptor {
  2593.     unsigned short                            goMixedModeTrap;                        /*mixed-mode A-trap*/
  2594.     char                            version;                        /*routine descriptor version*/
  2595.     RDFlagsType                            routineDescriptorFlags;
  2596.                                                         /*routine descriptor flags*/
  2597.     unsigned long                            reserved1;                        /*reserved*/
  2598.     unsigned char                            reserved2;                        /*reserved*/
  2599.     unsigned char                            selectorInfo;                        /*selector information*/
  2600.     short                            routineCount;                        /*index of last RR in this RD*/
  2601.     RoutineRecord                            routineRecords[1];            /*the individual routines*/
  2602. };
  2603. typedef struct RoutineDescriptor RoutineDescriptor;
  2604. typedef RoutineDescriptor *UniversalProcPtr, **UniversalProcHandle;
  2605. typedef RoutineDescriptor *RoutineDescriptorPtr, **RoutineDescriptorHandle;
  2606. Mixed Mode Manager Routines
  2607.  
  2608. Creating and Disposing of Routine Descriptors
  2609. pascal UniversalProcPtr NewRoutineDescriptor
  2610. (ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA);
  2611. pascal UniversalProcPtr NewFatRoutineDescriptor
  2612. (ProcPtr theM68kProc, ProcPtr thePowerPCProc, 
  2613. ProcInfoType theProcInfo);
  2614. pascal void DisposeRoutineDescriptor
  2615. (UniversalProcPtr theProcPtr);
  2616. Calling Routines via Universal Procedure Pointers
  2617. long CallUniversalProc    (UniversalProcPtr theProcPtr, 
  2618. ProcInfoType theProcInfo, ...);
  2619. long CallOSTrapUniversalProc
  2620. (UniversalProcPtr theProcPtr, 
  2621. ProcInfoType theProcInfo, ...);
  2622. Determining Instruction Set Architectures
  2623. ISAType GetCurrentISA    (void);
  2624. C Language Macros for Defining Procedure Information
  2625. #define SIZE_CODE(size) (((size) == 4) ? kFourByteCode : \
  2626.     (((size) == 2) ? kTwoByteCode : (((size) == 1) ? kOneByteCode : 0)))
  2627. #define RESULT_SIZE(sizeCode) ((ProcInfoType)(sizeCode) << kResultSizePhase)
  2628. #define STACK_ROUTINE_PARAMETER(whichParam, sizeCode) \
  2629.     ((ProcInfoType)(sizeCode) << (kStackParameterPhase + \
  2630.                         (((whichParam) - 1) * kStackParameterWidth)))
  2631. #define DISPATCHED_STACK_ROUTINE_PARAMETER(whichParam, sizeCode) \
  2632.     ((ProcInfoType)(sizeCode) << (kDispatchedParameterPhase + \
  2633.                         (((whichParam) - 1) * kStackParameterWidth)))
  2634. #define DISPATCHED_STACK_ROUTINE_SELECTOR_SIZE(sizeCode) \
  2635.     ((ProcInfoType)(sizeCode) << kDispatchedSelectorSizePhase)
  2636. #define REGISTER_RESULT_LOCATION(whichReg) \
  2637.     ((ProcInfoType)(whichReg) << kRegisterResultLocationPhase)
  2638. #define REGISTER_ROUTINE_PARAMETER(whichParam, whichReg, sizeCode) \
  2639.     ((((ProcInfoType)(sizeCode) << kRegisterParameterSizePhase) | \
  2640.     ((ProcInfoType)(whichReg) << kRegisterParameterWhichPhase)) << \
  2641.     (kRegisterParameterPhase + (((whichParam)- 1) * kRegisterParameterWidth)))
  2642. #define SPECIAL_CASE_PROCINFO(specialCaseCode) \
  2643.     (kSpecialCase | ((ProcInfoType)(specialCaseCode) << 4))
  2644. Listing 3-0
  2645. Table 3-0
  2646. Code Fragment Manager
  2647. Contents
  2648. About the Code Fragment Manager3-3
  2649. Fragments3-4
  2650. Import Library Searching3-5
  2651. Version Checking3-7
  2652. Using the Code Fragment Manager3-10
  2653. Loading Code Fragments3-10
  2654. Creating a Code Fragment Resource3-12
  2655. Getting Information About Exported Symbols3-14
  2656. Code Fragment Manager Reference3-15
  2657. Data Structures3-15
  2658. Fragment Initialization Block3-15
  2659. Fragment Location Record3-16
  2660. Memory Location Record3-17
  2661. Disk Location Record3-17
  2662. Segment Location Record3-18
  2663. Code Fragment Manager Routines3-18
  2664. Loading Fragments3-19
  2665. Unloading Fragments3-23
  2666. Finding Symbols3-24
  2667. Fragment-Defined Routines3-26
  2668. Resources3-28
  2669. The Code Fragment Resource3-28
  2670. Summary of the Code Fragment Manager3-32
  2671. C Summary3-32
  2672. Constants3-32
  2673. Data Types3-33
  2674. Code Fragment Manager Routines3-34
  2675. Fragment-Defined Routines3-35
  2676. Result Codes3-35
  2677. Code Fragment Manager
  2678. This chapter describes the Code Fragment Manager, the part of the Macintosh system software that loads fragments into memory and prepares them for execution. A fragment can be an application, an import library, a system extension, or any other block of executable code and its associated data.
  2679. The Code Fragment Manager is intended to operate transparently to most applications and other software. You need to use the Code Fragment Manager explicitly only if
  2680. n    you need to load code modules dynamically during the execution of your application or other software
  2681. n    you want to unload code modules before the termination of your application
  2682. n    you want to obtain information about the symbols exported by a fragment
  2683. For example, if your application supports dynamic loading of tools, filters, or other software modules contained in fragments, you’ll need to use the Code Fragment Manager to load and prepare them for execution.
  2684. This chapter also describes the format of the code fragment resource, which defines information about a fragment. You need to create a code fragment resource (a resource 
  2685. of type 'cfrg') for each application or import library you create. For information on doing this, see “Creating a Code Fragment Resource” on page 3-12.
  2686. To use this chapter, you should already be generally familiar with the Macintosh Operating System. See the books Inside Macintosh: Processes and Inside Macintosh: Memory for information about the run-time architecture of the 680x0 environment. You also need to be familiar with the run-time architecture of PowerPC processor-based Macintosh computers, as explained in the chapter “Introduction to PowerPC System Software.” That chapter describes the general nature and structure of fragments.
  2687. This chapter begins by describing the capabilities of the Code Fragment Manager. Then it describes how the Code Fragment Manager searches for the appropriate versions of import libraries. In general, you need to know these details about searching and version checking only if you are creating updated versions of an existing import library. The section “Using the Code Fragment Manager” beginning on page 3-10 provides code samples illustrating how to use some of the routines provided by the Code Fragment Manager. The section “Code Fragment Manager Reference” beginning on page 3-15 is a complete reference to the Code Fragment Manager.
  2688.  
  2689. About the Code Fragment Manager
  2690.  
  2691. The Code Fragment Manager is the Operating System loader for executable code and data that are contained in fragments. Its operations are loosely analogous to those of the Segment Manager in previous versions of the Macintosh system software. The Code Fragment Manager, however, provides a much richer set of services than the Segment Manager, including
  2692. n    loading and preparation of fragments for execution
  2693. n    automatic resolution of imported symbols by locating and loading import libraries used by a fragment
  2694. n    automatic execution of a fragment’s initialization and termination routines
  2695. n    support for updated versions of import libraries
  2696. The following sections describe how fragments are structured, how the Code Fragment Manager searches fragments for unresolved symbols, and how it manages different versions of import libraries.
  2697. Fragments
  2698.  
  2699. The Code Fragment Manager operates primarily on fragments. A fragment is a block of executable code and its associated data. Fragments can be loosely differentiated into three categories, based on how they are used:
  2700. n    applications
  2701. n    import libraries
  2702. n    extensions
  2703. Fragments contain symbols, some or all of which may be referenced by code or data in other fragments; these kinds of symbols are called exported symbols (or, for brevity, exports). An import library is a fragment that consists primarily of exported symbols and their associated code and data. Other kinds of fragments can contain references to the exported symbols of an import library; these references are called imported symbols (or, for brevity, imports).
  2704. During the linking phase of building a fragment, the linker creates an import for each external symbol that is resolved to an export from some import library. The code or data referenced by that import is not copied into the fragment. Instead, as part of the process of loading the fragment into memory and preparing it for execution, the Code Fragment Manager replaces the imported symbol with the address of the exported code or data.
  2705. Note
  2706. Both code and data may be exported by name. However, routines are usually exported indirectly, via a transition vector to the routine. A routine’s transition vector is stored in the fragment’s data area. See 
  2707. “The Table of Contents” on page 1-26 for more details.u
  2708. A fragment is stored in a container, which can be any logically contiguous object acces-
  2709. sible by the Operating System. For example, the executable code and global variables 
  2710. of a PowerPC application are typically stored in a fragment in the application’s data fork. The Macintosh ROM is itself a container for the import library that exports 
  2711. the Macintosh system software and for several other import libraries. Application extensions, such as dynamically loadable filters or other code modules, can be stored in resources in the application’s resource fork. It’s better, however, to use the data fork of some file as the container of an application extension fragment. The extension can be put into the application’s data fork (either before or after the application’s code fragment) or into the data fork of some other file.
  2712. Note
  2713. Note
  2714. A single data fork can contain multiple containers. The 'cfrg' resource in the file’s resource fork allows the Operating System to find each individual container in a data fork.u
  2715. The Code Fragment Manager is responsible for loading fragments (by calling the Code Fragment Loader) and preparing them for execution. It resolves the imported symbols 
  2716. in a fragment, loading and preparing any additional fragments whose exports are referenced by that fragment. Loading a given fragment, such as an application, usually involves loading and preparing additional fragments.
  2717. An import library can have its exported symbols imported by any number of other frag-
  2718. ments. When the Code Fragment Manager resolves the imports in a particular fragment, it establishes a connection to each individual fragment whose code or data that fragment references. In general, the connections are transparent to the importing fragment. If you call the Code Fragment Manager directly, however, it returns a connection ID to you that uniquely identifies the connection. You can use the connection ID to perform various actions on the exporting fragment (for example, to break the connection and unload the fragment or to get information about its exported symbols).
  2719. Note
  2720. There is no practical limit on the size of a fragment.u
  2721. Import Library Searching
  2722.  
  2723. When searching for an import library to find code or data that is imported by some other fragment, the Code Fragment Manager follows a standard search path. It looks in various files and folders in a specific order until it finds an import library that exports the code or data imported by the fragment being loaded. Once the Code Fragment Manager finds a library that it deems compatible with the fragment it’s loading, it stops searching and resolves imports in the fragment to code or data in that library. In general, the exact order in which the Code Fragment Manager searches for import libraries is transparent to your software. However, you might need the information in this section to ensure that a particular import library is found before some other import library, which might also be compatible with your fragment.
  2724. Note
  2725. See the next section, “Version Checking” beginning on page 3-7, for information on how the Code Fragment Manager determines whether some import library is compatible with a fragment.u
  2726. When loading and preparing an application that imports code or data from an import library, the Code Fragment Manager searches first in the application file itself, by looking for import libraries indicated in the application’s 'cfrg' resource. Typically, any import libraries contained in your application are located in your application’s data fork, either before or after the container that holds your application’s code and data. Less commonly, you can put an import library into a resource in your application’s resource fork. The 'cfrg' resource specifies the location of any import libraries that you’ve included with your application, whether in the data or the resource fork.
  2727. If an import library used by your application is not found in the application file itself, the Code Fragment Manager next searches in any directory designated as the application’s library directory, a directory used by the application to store import libraries or aliases to import libraries. You specify a library directory by including in the appropriate field of your 'cfrg' resource the ID of an alias resource that picks out the library directory. See “The Code Fragment Resource” beginning on page 3-28 for details.
  2728. The Code Fragment Manager searches a directory by looking for files of type 'shlb' that contain a resource of type 'cfrg'. The 'cfrg' resource identifies the logical name of the import library, which is needed to match the library’s name generated at link time. There can be more than one logical name listed in a single 'cfrg' resource. This might happen if there are multiple import libraries contained in the data fork of a single 'shlb' file. This might also happen if a single import library or application is to be identified by more than one name. Within a directory, the Code Fragment Manager also looks for aliases to files of type 'shlb' and resolves them to their targets. The alias file must itself be of type 'shlb'.
  2729. If no suitable import library has been found yet, the Code Fragment Manager searches next in the directory that contains the application. If any import libraries—whether located in the application’s directory or targeted by an alias in the application’s directory—are determined to be compatible with the fragment whose imports are being resolved, the Code Fragment Manager chooses the most compatible library and stops searching.
  2730. IMPORTANT
  2731. The Code Fragment Manager looks only in the top level of the application’s directory, not in any subdirectories contained in it.s
  2732. If no suitable import library has been found yet, the Code Fragment Manager searches next in the Extensions folder in the System Folder and in all the subdirectories of the Extensions folder, including any directories that are targets of directory aliases in 
  2733. the Extensions folder. Once again, both files of type 'shlb' and targets of aliases of 
  2734. type 'shlb' are candidates for compatibility checking. This scheme allows you to store your import libraries in a vendor-specific location in the Extensions folder.
  2735. If the Code Fragment Manager still hasn’t found a compatible import library that exports the imported symbols in the fragment it’s trying to prepare, it continues by looking in a ROM registry, which keeps track of all import libraries that are stored in the ROM of a Macintosh computer. The Code Fragment Manager registers all ROM-based import libraries in this registry at system startup time.
  2736. The final stage of the search path is a file and directory registry that it maintains internally. This registry is a list of files and directories that, for various reasons, cannot be put into the normal search path followed by the Code Fragment Manager or would not be recognized as import libraries even if they were in that path. For example, to be registered automatically by the Component Manager, a component must be stored 
  2737. in a file of type 'thng'. To inform the Code Fragment Manager that the file also 
  2738. contains one or more import libraries in its data fork, it can be registered in the file and directory registry.
  2739. Note
  2740. The Code Fragment Manager routine to register a file 
  2741. or directory is currently private.u
  2742. If your application or other software loads a fragment explicitly from disk by calling the GetDiskFragment routine, the Code Fragment Manager first looks for any needed import libraries in the load directory, the directory that contains the fragment being loaded. (This directory is the one specified in the fileSpec parameter you pass to GetDiskFragment.) If no suitable import library is found there, the search continues along the path followed when loading and preparing an application. However, the Code Fragment Manager looks in the load directory first only if it is different from the application’s directory. Otherwise, the load directory is searched in its normal sequence, after the application file itself and the library directory.
  2743. In summary, the Code Fragment Manager looks in the following places when searching for an import library to resolve one or more imports in a fragment being loaded:
  2744.     1.    The load directory (the directory containing the fragment being loaded). The load directory, however, is searched only when a fragment is loaded in response to a call 
  2745. to GetDiskFragment or GetSharedLibrary, and only when it’s different from the application’s directory.
  2746.     2.    The application file, if the application’s 'cfrg' resource indicates that the application file contains import libraries. The application fragment is implicitly treated here as an import library.
  2747.     3.    The application’s library directory (as specified in the application’s 'cfrg' resource).
  2748.     4.    The application’s directory. Only the top level of this directory is searched.
  2749.     5.    The Extensions folder in the System Folder. The Extensions folder and all directories in the Extensions folder are searched.
  2750.     6.    The ROM registry maintained internally by the Code Fragment Manager.
  2751.     7.    The file and directory registry maintained internally by the Code Fragment Manager.
  2752. At any stage, the Code Fragment Manager selects the one import library of all those available to it that best satisfies its compatibility version checking. If an import library meets the relevant criteria, the library search stops. Otherwise, the search continues to the next stage. If the final stage (the file and directory registry) is reached and no suitable library can be found, the Code Fragment Manager gives up and does not load the original fragment.
  2753. Version Checking
  2754.  
  2755. One of the principal benefits of import libraries, aside from their ability to reduce the size of applications and other fragments, is the ease with which a library developer can make improvements in portions of the import library without requiring developers to modify or rebuild any applications that use the import library. The library developer needs only to ensure that the updated version is compatible with the version expected by the applications using the library. In general, this means that the external program-
  2756. ming interface provided by the import library remains unchanged throughout changes in the underlying implementation.
  2757. The Code Fragment Manager provides a simple but powerful version-checking scheme intended to prevent incompatibilities between import libraries and the fragments that use them. This checking is always performed automatically as part of the normal fragment loading and preparation process. In general, your application does not need to concern itself with checking the version of an import library whose code or data it uses.
  2758. To take a simple example, suppose that an application uses a single import library. When the application is created, it is linked with some version of that library. Unresolved external symbols in the application are resolved, by the linker, to exported code or data in the import library. The version of the import library used at link time is called the definition version of the library (because it supplies the definitions of exported symbols, not the actual implementation of routines and initialization of variables).
  2759. When the application is loaded and prepared for execution, it must be connected to a version of that import library. The version of the import library used at load time is called the implementation version of the library (because it supplies the implementa-
  2760. tions of routines and initializations of variables exported by the library). The essential requirement is that the implementation version of an import library used at run time be compatible with the definition version used at link time. The two versions do not need to be identical, but they must satisfy the same programming interface. (The implementation can be a superset of the definition library.)
  2761. To allow the Code Fragment Manager to check the implementation version of an import library against the definition version used when linking the application, the linker copies version information from the definition library into the application. When the application is launched, the version information in the application is compared with the version information stored in the implementation library. If the version of the import library is identical to that expected by the application, the library and the application are deemed compatible. If, however, the two versions are not identical, the Code Fragment Manager inspects additional information in whichever of the two fragments (the application and the import library) is the newer fragment. The idea is to allow the newer fragment to decide whether it is compatible with the older fragment.
  2762. Every import library contains three version numbers: the current version number, the oldest supported definition version number, and the oldest supported implementation version number. The two latter version numbers are included to provide a way for the Code Fragment Manager to determine whether a given definition version is compatible with a given implementation version, if the current versions of the library and the definition version used to link the application are not identical.
  2763. IMPORTANT
  2764. The current version number must always be greater than or equal to both the oldest supported definition version number and the oldest supported implementation version number.s
  2765. The linker copies into the application both the current version number of the definition library and the oldest supported implementation version number. When the application is launched, the Code Fragment Manager checks those numbers with the version numbers in the implementation libraries according to the algorithm shown in Listing 3-1.
  2766. Listing 3-1    Pseudocode for the version-checking algorithm
  2767.  
  2768. if (Definition.Current == Implementation.Current)
  2769.     return(kLibAndAppAreCompatible);
  2770. else if (Definition.Current > Implementation.Current)
  2771.     /*definition version is newer than implementation version*/
  2772.     if (Definition.OldestImp <= Implementation.Current)
  2773.         return(kImplAndDefAreCompatible);
  2774.     else
  2775.         return(kImplIsTooOld);
  2776. else
  2777.     /*definition version is older than implementation version*/
  2778.     if (Implementation.OldestDef <= Definition.Current)
  2779.         return(kImplAndDefAreCompatible);
  2780.     else
  2781.         return(kDefIsTooOld);
  2782. If the current version number copied into the application from the definition library at link time is the same as the current version number of the candidate version of the implementation import library, then the Code Fragment Manager accepts that version of the implementation import library and continues with the loading and preparation of the application. Otherwise, the Code Fragment Manager determines which of the two fragments is newer and then applies a further check.
  2783. If the current version number copied into the application from the definition library 
  2784. at link time is greater than the current version number of the candidate version of 
  2785. the implementation import library, the Code Fragment Manager compares the oldest supported implementation version number in the application with the current version number of the implementation library. If the definition library’s oldest supported implementation version number is less than or equal to the library’s current version number, the application and library are deemed compatible. Otherwise, the library is too old for the application.
  2786. If the current version number copied into the application from the definition library at link time is less than the current version number of the most recent version of the implementation import library, the Code Fragment Manager compares the oldest supported definition library version number (stored in the implementation library) with the current definition library version number (stored in the application). If the oldest supported definition library version number is less than or equal to the application’s current version number, the application and library are deemed compatible. Otherwise, the application is too old for the library.
  2787. Note
  2788. Note
  2789. In general, of course, the Code Fragment Manager checks the compatibility of a fragment being loaded and all of the import 
  2790. libraries from which it imports code and data.u
  2791. The version numbers in both the definition and implementation versions of an import library should have the same format as the first 4 bytes of a version resource (that is, 
  2792. a resource of type 'vers'). See the chapter “Finder Interface” in Inside Macintosh: Macintosh Toolbox Essentials for complete information on version resources. When comparing version numbers, however, the Code Fragment Manager treats those 4 bytes simply as an unsigned long quantity. As a result, the value 0x00000000 is interpreted as 
  2793. a valid version number.
  2794.  
  2795. Using the Code Fragment Manager
  2796.  
  2797. The Code Fragment Manager provides routines that you can use to explicitly load code fragments and to get information about symbols exported by a particular fragment. This section illustrates how to use those routines.
  2798. IMPORTANT
  2799. In general, the Code Fragment Manager automatically loads all import libraries required by your application at the time your application is launched. You need to use the routines described in this section only if your application supports dynamically loaded application tools, filters, or other code modules.s
  2800. This section also describes how to create a code fragment resource. Every application and import library must have a code fragment resource to describe basic information about the application or import library.
  2801. Loading Code Fragments
  2802.  
  2803. You can use the Code Fragment Manager to load fragments from the containers in which they are stored. You need to do this only for code fragments that are dynamically added to your application’s context during execution. This might happen, for instance, if your application supports dynamically loadable filters or tools.
  2804. The executable code you want to bind to your application context can be stored in any kind of container. If the container is an import library (a file of type 'shlb'), you can use the Code Fragment Manager’s GetSharedLibrary function. If the container is a disk file, you call the GetDiskFragment function. If the container is a resource, you need to load the resource into memory (using normal Resource Manager routines) 
  2805. and then call the GetMemFragment function. See “Loading Fragments” beginning on page 3-19 for complete details on each of these functions.
  2806. Listing 3-2 and Listing 3-3 illustrate how to load application-specific tools into 
  2807. memory using the Code Fragment Manager. Listing 3-2 shows how to load a resource-based fragment.
  2808. Listing 3-2    Loading a resource-based fragment
  2809.  
  2810. Handle                    myHandle;
  2811. OSErr                    myErr;
  2812. ConnectionID                    myConnID;
  2813. Ptr                    myMainAddr;
  2814. Str255                    myErrName;
  2815.  
  2816. myHandle = GetResource('tool', 128);
  2817. HLock(myHandle);
  2818. myErr = GetMemFragment(*myHandle, GetHandleSize(myHandle), 
  2819.                     myToolName, kLoadNewCopy, &myConnID, 
  2820.                     (Ptr*)&myMainAddr, myErrName);
  2821. if (myErr) {
  2822.     AlertUser(myErr);
  2823.     goto noLoad;
  2824. }
  2825. As you can see, Listing 3-2 loads the resource into memory by calling the Resource Manager function GetResource and locks it by calling the Memory Manager procedure HLock. Then it calls GetMemFragment to prepare the fragment. The first parameter passed to GetMemFragment specifies the address in memory of the fragment. Because GetResource returns a handle to the resource data, Listing 3-2 dereferences the handle to obtain a pointer to the resource data. To avoid dangling pointers, you need to lock the block of memory before calling GetMemFragment. The constant kLoadNewCopy passed as the fourth parameter requests that the Code Fragment Manager allocate a new copy of the fragment’s global data section.
  2826. Listing 3-3 shows how to load a disk-based fragment.
  2827. Listing 3-3    Loading a disk-based fragment
  2828.  
  2829. myErr = GetDiskFragment(&myFSSpec, 0, kWholeFork, myToolName, 
  2830.                     kLoadNewCopy, &myConnID, (Ptr*)&myMainAddr, 
  2831.                     myErrName);
  2832. if (myErr) {
  2833.     AlertUser(myErr);
  2834.     goto noLoad;
  2835. }
  2836. All import libraries and other fragments that are loaded on behalf of your application (either as part of its normal startup or programmatically by your application) are unloaded by the Process Manager at application termination; therefore, a library can be loaded and does not have to be unloaded by the application before it terminates.
  2837. Creating a Code Fragment Resource
  2838.  
  2839. You need to create a code fragment resource (a resource of type 'cfrg') for each native application or import library you create. This resource identifies the instruction set architecture, location, size, and logical name of the application or import library, as well as version information for import libraries.
  2840. In PowerPC or fat applications, the code fragment resource is read by the Process Manager at application launch time. The Process Manager needs to know whether the application contains PowerPC code and, if so, where that code is located. If the Process Manager cannot find a 'cfrg' resource in the application’s resource fork, it assumes that the application is a 680x0 application, where the executable code is contained within 'CODE' resources in the application’s resource fork.
  2841. IMPORTANT
  2842. A code fragment resource must have resource ID 0.s
  2843. For an application, the code fragment resource typically indicates that the application’s executable code fragment begins at offset 0 within the application’s data fork and extends for the entire length of the data fork. Listing 3-4 shows the Rez input for a typical application’s code fragment resource.
  2844. Listing 3-4    The Rez input for a typical application’s 'cfrg' resource
  2845.  
  2846. #include "CodeFragmentTypes.r"
  2847. resource 'cfrg' (0) {
  2848.     {
  2849.         kPowerPC,                                /*instruction set architecture*/
  2850.         kFullLib,                                /*no update level for apps*/
  2851.         kNoVersionNum,                                /*no current version number*/
  2852.         kNoVersionNum,                                /*no oldest def'n version number*/
  2853.         kDefaultStackSize,                                /*use default stack size*/
  2854.         kNoAppSubFolder,                                /*no library directory*/
  2855.         kIsApp,                                /*fragment is an application*/
  2856.         kOnDiskFlat,                                /*fragment is on disk*/
  2857.         kZeroOffset,                                /*fragment starts at fork start*/
  2858.         kWholeFork,                                /*fragment occupies entire fork*/
  2859.         "SurfWriter"                                /*name of the application*/
  2860.     }
  2861. };
  2862. Note
  2863. Note
  2864. See “The Code Fragment Resource” on page 3-28 for complete information about the structure of a code fragment resource.u
  2865. For import libraries, the code fragment resource is read by the Code Fragment Manager as part of the process of searching for symbols imported by some fragment that is currently being loaded and prepared for execution. (See the section “Import Library Searching” on page 3-5 for details on how the Code Fragment Manager searches for import libraries.) The information in the 'cfrg' resource is also used to ensure that the Code Fragment Manager finds an implementation version of an import library that is compatible with the definition version used to link the fragment being loaded and prepared for execution. Listing 3-5 shows the Rez input for a typical code fragment resource for an import library.
  2866. Listing 3-5    The Rez input for a typical import library’s 'cfrg' resource
  2867.  
  2868. #define kOldDefVers                                0x01008000                    /*version 1.0*/
  2869. #define kCurrVers                                0x02008000                    /*version 2.0*/
  2870.  
  2871. #include "CodeFragmentTypes.r"
  2872. resource 'cfrg' (0) {
  2873.     {
  2874.         kPowerPC,                                /*instruction set architecture*/
  2875.         kFullLib,                                /*base library*/
  2876.         kCurrVers,                                /*current version number*/
  2877.         kOldDefVers,                                /*oldest definition version number*/
  2878.         kDefaultStackSize,                                /*ignored for import library*/
  2879.         kNoAppSubFolder,                                /*ignored for import library*/
  2880.         kIsLib,                                /*fragment is a library*/
  2881.         kOnDiskFlat,                                /*fragment is on disk*/
  2882.         kZeroOffset,                                /*fragment starts at fork start*/
  2883.         kWholeFork,                                /*fragment occupies entire fork*/
  2884.         "SurfTools"                                /*name of the library*/
  2885.     }
  2886. };
  2887. An import library’s code fragment resource also specifies the logical name of the import library. This is the name used by the Code Fragment Manager to resolve imports in some other fragment. The logical name can be different from the name of the file containing the import library.
  2888. Note that code fragment resources are required only for fragments that are either applications or import libraries. If you need similar version-checking or name-binding capabilities for fragments that are application extensions, you will need to provide your own code to do this.
  2889. Getting Information About Exported Symbols
  2890.  
  2891. In cases in which you load a fragment programmatically (that is, by calling Code Fragment Manager routines), you can get information about the symbols exported 
  2892. by that fragment by calling the CountSymbols and GetIndSymbol functions. 
  2893. The CountSymbols function returns the total number of symbols exported by a fragment. CountSymbols takes as one of its parameters a connection ID; accordingly, you must already have established a connection to a fragment before you can determine how many symbols it exports.
  2894. Given an index ranging from 1 to the total number of symbols in a fragment, the GetIndSymbol function returns the name, address, and class of a symbol in that fragment. You can use CountSymbols in combination with GetIndSymbol to get information about all the symbols in a fragment. For example, the code in Listing 3-6 prints the names of all the symbols in a particular fragment.
  2895. Listing 3-6    Finding symbol names
  2896.  
  2897. void MyGetSymbolNames (ConnectionID myConnID);
  2898. {
  2899.     long                    myIndex;
  2900.     long                    myCount;                    /*number of exported symbols in fragment*/
  2901.     OSErr                    myErr;
  2902.     Str255                    myName;                    /*symbol name*/
  2903.     Ptr                    myAddr;                    /*symbol address*/
  2904.     SymClass                    myClass;                    /*symbol class*/
  2905.  
  2906.     myErr = CountSymbols(myConnID, &myCount);
  2907.     if (!myErr)
  2908.         for (myIndex = 1; myIndex <= myCount; myIndex++)
  2909.             {
  2910.                 myErr = GetIndSymbol(myConnID, myIndex, myName, 
  2911.                                                 &myAddr, &myClass);
  2912.                 if (!myErr)
  2913.                     printf("%P", myName);
  2914.             }
  2915. }
  2916. If you already know the name of a particular symbol whose address and class you want to determine, you can use the FindSymbol function. See page 3-24 for details on calling FindSymbol.
  2917.  
  2918.  
  2919. Code Fragment Manager Reference
  2920.  
  2921. This section describes the data structures and routines provided by the Code Fragment Manager. See “Using the Code Fragment Manager” beginning on page 3-10 for detailed instructions on using these routines. This section also describes the format of the optional initialization and termination routines you can include in a fragment, as well 
  2922. as the structure of the code fragment resource.
  2923. Data Structures
  2924.  
  2925. This section describes the data structures that define the format of the data passed to a fragment’s initialization routine.
  2926. IMPORTANT
  2927. You need the information in this section only if your fragment (application, import library, or extension) contains an initialization routine. In addition, much of the information passed to an initialization routine is intended for use by language implementors. Most other developers are likely to need only the pointer to a file specification record passed to disk-based fragments. (This information allows the initialization routine to access its own resource fork.)s
  2928. Fragment Initialization Block
  2929.  
  2930. The Code Fragment Manager passes to your fragment’s initialization routine a pointer to a fragment initialization block, which contains information about the fragment. A fragment initialization block is defined by the InitBlock data type.
  2931. struct InitBlock {
  2932.     long                                contextID;                    /*context ID*/
  2933.     long                                closureID;                    /*closure ID*/
  2934.     long                                connectionID;                    /*connection ID*/
  2935.     FragmentLocator                                fragLocator;                    /*fragment location*/
  2936.     Ptr                                libName;                    /*pointer to fragment name*/
  2937.     long                                reserved4a;                    /*reserved*/
  2938.     long                                reserved4b;                    /*reserved*/
  2939.     long                                reserved4c;                    /*reserved*/
  2940.     long                                reserved4d;                    /*reserved*/
  2941. };
  2942. typedef struct InitBlock InitBlock, *InitBlockPtr;
  2943. Field descriptions
  2944. Field descriptions
  2945. contextID    A context ID.
  2946. closureID    A closure ID.
  2947. connectionID    A connection ID.
  2948. fragLocator    A fragment location record that specifies the location of the fragment. See the following section for details about the structure 
  2949. of a fragment location record.
  2950. libName    A pointer to the name of the fragment being initialized. The name is a Pascal string (a length byte followed by the name itself).
  2951. reserved4a    Reserved for use by Apple Computer.
  2952. reserved4b    Reserved for use by Apple Computer.
  2953. reserved4c    Reserved for use by Apple Computer.
  2954. reserved4d    Reserved for use by Apple Computer.
  2955. IMPORTANT
  2956. The fields of a fragment initialization block are aligned in memory in accordance with 680x0 alignment conventions.s
  2957. Fragment Location Record
  2958.  
  2959. The fragLocator field of an initialization block contains a fragment location record that provides information about the location of a fragment. A fragment location record is defined by the FragmentLocator data type.
  2960. struct FragmentLocator {
  2961.     long                                where;                    /*location selector*/
  2962.     union {
  2963.         MemFragment                            inMem;                    /*memory location record*/
  2964.         DiskFragment                            onDisk;                    /*disk location record*/
  2965.         SegmentedFragment                            inSegs;                    /*segment location record*/
  2966.     } u;
  2967. };
  2968. typedef struct FragmentLocator FragmentLocator, *FragmentLocatorPtr;
  2969. Field descriptions
  2970. where    A selector that determines which member of the following union is relevant. This field can contain one of these constants:
  2971.                     enum {
  2972.                         kInMem,                        /*container in memory*/
  2973.                         kOnDiskFlat,                        /*container in a data fork*/
  2974.                         kOnDiskSegmented                        /*container in a resource*/
  2975.                     };
  2976. inMem    A memory location record.
  2977. onDisk    A disk location record.
  2978. inSegs    A segment location record.
  2979. IMPORTANT
  2980. IMPORTANT
  2981. The fields of a fragment location record are aligned in memory in accordance with 680x0 alignment conventions.s
  2982. Memory Location Record
  2983.  
  2984. For fragments located in memory, the inMem field of a fragment location record contains a memory location record, which specifies the location of the fragment in memory. A memory location record is defined by the MemFragment data type.
  2985. struct MemFragment {
  2986.     Ptr                                address;                    /*pointer to start of fragment*/
  2987.     long                                length;                    /*length of fragment*/
  2988.     Boolean                                inPlace;                    /*is data section in place?*/
  2989. };
  2990. typedef struct MemFragment MemFragment;
  2991. Field descriptions
  2992. address    A pointer to the beginning of the fragment in memory.
  2993. length    The length, in bytes, of the fragment.
  2994. inPlace    A Boolean value that specifies whether the container’s data section is instantiated in place (true) or elsewhere (false).
  2995. IMPORTANT
  2996. The fields of a memory location record are aligned in memory in accordance with 680x0 alignment conventions.s
  2997. Disk Location Record
  2998.  
  2999. For fragments located in the data fork of a file on disk, the onDisk field of a fragment location record contains a disk location record, which specifies the location of the fragment. A disk location record is defined by the DiskFragment data type.
  3000. struct DiskFragment {
  3001.     FSSpecPtr                                fileSpec;                    /*pointer to FSSpec*/
  3002.     long                                offset;                    /*offset to start of fragment*/
  3003.     long                                length;                    /*length of fragment*/
  3004. };
  3005. typedef struct DiskFragment DiskFragment;
  3006. Field descriptions
  3007. fileSpec    A pointer to a file specification record (a data structure of type FSSpec) for the data fork of a file. This pointer is valid only while the initialization routine is executing. If you need to access the information in the file specification record at any later time, you must make a copy of that record.
  3008. offset    The offset, in bytes, from the beginning of the file’s data fork to the beginning of the fragment.
  3009. length    The length, in bytes, of the fragment. If this field contains the value 0, the fragment extends to the end-of-file.
  3010. IMPORTANT
  3011. The fields of a disk location record are aligned in memory in accordance with 680x0 alignment conventions.s
  3012. Segment Location Record
  3013.  
  3014. For fragments located in the resource fork of a file on disk, the inSegs field of a fragment location record contains a segment location record, which specifies the location of the fragment. A segment location record is defined by the SegmentedFragment data type.
  3015. struct SegmentedFragment {
  3016.     FSSpecPtr                                fileSpec;                    /*pointer to FSSpec*/
  3017.     OSType                                rsrcType;                    /*resource type*/
  3018.     short                                rsrcID;                    /*resource ID*/
  3019. };
  3020. typedef struct SegmentedFragment SegmentedFragment;
  3021. Field descriptions
  3022. fileSpec    A pointer to a file specification record (a data structure of type FSSpec) for the resource fork of a file. This pointer is valid only while the initialization routine is executing. If you need to access the information in the file specification record at any later time, you must make a copy of that record.
  3023. rsrcType    The resource type of the resource containing the fragment.
  3024. rsrcID    The resource ID of the resource containing the fragment.
  3025. IMPORTANT
  3026. The fields of a segment location record are aligned in memory in accordance with 680x0 alignment conventions.s
  3027. Code Fragment Manager Routines
  3028.  
  3029. You can use the routines provided by the Code Fragment Manager to
  3030. n    load a fragment by filename or library name
  3031. n    identify an import library that is already loaded
  3032. n    unload a fragment
  3033. n    find a symbol by name in a fragment
  3034. n    find all the symbols in a fragment
  3035. Loading Fragments
  3036.  
  3037. The Code Fragment Manager provides three functions that you can use to load various kinds of fragments: GetDiskFragment, GetMemFragment, and GetSharedLibrary. Loading involves finding the specified fragment, reading it into memory (if it isn’t already in memory), and preparing it for execution. The Code Fragment Manager attempts to resolve all symbols imported by the fragment; to do so may involve loading import libraries.
  3038. If the fragment loading fails, the Code Fragment Manager returns an error code. Note, however, that the error encountered is not always in the fragment you asked to load. Rather, the error might have occurred while attempting to load an import library that the fragment you want to load depends on. For this reason, the Code Fragment Manager also returns, in the errName parameter, the name of the fragment that caused the load to fail. Although fragment names are restricted to 63 characters, the errName parameter is declared as type Str255; doing this allows future versions of the Code Fragment Manager to return a more informative message in the errName parameter.
  3039. GetDiskFragment
  3040.  
  3041. You can use the GetDiskFragment function to locate and possibly also load a fragment contained in a file’s data fork into your application’s context.
  3042. OSErr GetDiskFragment (FSSpecPtr fileSpec, long offset, 
  3043.                                 long length, Str63 fragName, 
  3044.                                 LoadFlags findFlags, ConnectionID *connID, 
  3045.                                 Ptr *mainAddr, Str255 errName);
  3046. fileSpec    A file system specification that identifies the disk-based fragment to load.
  3047. offset    The number of bytes from the beginning of the file’s data fork at which the beginning of the fragment is located.
  3048. length    The length (in bytes) of the fragment. Specify the constant kWholeFork for this parameter if the fragment extends to the end-of-file of the data fork. Specify a nonzero value for the exact length of the fragment.
  3049. fragName    An optional name of the fragment. (This information is used primarily to allow you to identify the fragment during debugging.)
  3050. findFlags    A flag that specifies the operation to perform on the fragment. See the description below for the values you can pass in this parameter.
  3051. connID    On exit, the connection ID that identifies the connection to the fragment. You can pass this ID to other Code Fragment Manager routines.
  3052. mainAddr    On exit, the main address of the fragment. The value returned is specific to the fragment itself. Your application can use this parameter for its 
  3053. own purposes.
  3054. errName    On exit, the name of the fragment that could not successfully be loaded. This parameter is meaningful only if the call to GetDiskFragment fails.
  3055. DESCRIPTION
  3056. The GetDiskFragment function locates and possibly also loads a disk-based fragment into your application’s context. The actions of GetDiskFragment depend on the action flag you pass in the findFlags parameter. The Code Fragment Manager recognizes these constants:
  3057. enum {
  3058.     kLoadLib                        = 1,        /*load fragment*/
  3059.     kFindLib                        = 2,        /*find fragment*/
  3060.     kLoadNewCopy                        = 5        /*load fragment with new copy of data*/
  3061. };
  3062. The kFindLib constant specifies that the Code Fragment Manager search for the specified fragment. If the fragment is already prepared and connected to your application, GetDiskFragment returns fragNoErr as its function result and the existing connection ID in the connID parameter. If the specified fragment is not found, GetDiskFragment returns the result code fragLibNotFound. If the specified fragment is found but could 
  3063. not be connected to your application, GetDiskFragment returns the result code fragLibConnErr.
  3064. The kLoadLib constant specifies that the Code Fragment Manager search for the specified fragment and, if it finds it, load it into memory. If the fragment has already been loaded, it’s not loaded again. The Code Fragment Manager uses the data-
  3065. instantiation method specified in the fragment’s container (which is either global or per-connection instantiation).
  3066. The kLoadNewCopy constant specifies that the Code Fragment Manager load the specified fragment, creating a new copy of any writable data maintained by the fragment. You specify kLoadNewCopy to obtain one instance per load of the fragment’s data and to override the data-instantiation method specified in the container itself. This is most useful for application extensions (for example, drop-in tools).
  3067. RESULT CODESfragNoErr    0    No error    
  3068. paramErr    –50    Parameter error    
  3069. fragLibNotFound    –2804    Specified fragment not found    
  3070. fragHadUnresolveds    –2807    Loaded fragment has unacceptable unresolved symbols    
  3071. fragNoMem    –2809    Not enough memory for internal bookkeeping    
  3072. fragNoAddrSpace    –2810    Not enough memory in user’s address 
  3073. space for section    
  3074. fragObjectInitSeqErr    –2812    Order error during user initialization function    
  3075. fragImportTooOld    –2813    Import library is too old    
  3076. fragImportTooNew    –2814    Import library is too new    
  3077. fragInitLoop    –2815    Circularity in required initialization order    
  3078. fragLibConnErr    –2817    Error connecting to fragment    
  3079. fragUserInitProcErr    –2821    Initialization procedure did not return noErr    
  3080.  
  3081. SEE ALSO
  3082. See “Loading Code Fragments” on page 3-10 for more details on the fragment-
  3083. loading process.
  3084. GetMemFragment
  3085.  
  3086. You can use the GetMemFragment function to prepare a memory-based fragment.
  3087. OSErr GetMemFragment (Ptr memAddr, long length, Str63 fragName, 
  3088.                                 LoadFlags findFlags, ConnectionID *connID, 
  3089.                                 Ptr *mainAddr, Str255 errName);
  3090. memAddr    The address of the fragment.
  3091. length    The size, in bytes, of the fragment.
  3092. fragName    The name of the fragment. (This information is used primarily to allow you to identify the fragment during debugging.)
  3093. findFlags    A flag that specifies the operation to perform on the fragment. See the description of the GetDiskFragment function on page 3-19 for the values you can pass in this parameter.
  3094. connID    On exit, the connection ID that identifies the connection to the fragment. You can pass this ID to other Code Fragment Manager routines (for example, CloseConnection).
  3095. mainAddr    On exit, the main address of the fragment. The value returned is specific to the fragment itself.
  3096. errName    On exit, the name of the fragment that could not successfully be loaded. This parameter is meaningful only if the call to GetMemFragment fails.
  3097. DESCRIPTION
  3098. The GetMemFragment function prepares for subsequent execution a fragment that 
  3099. is already loaded into memory. This function is most useful for handling code that 
  3100. is contained in a resource. You can read the resource data into memory using 
  3101. normal Resource Manager routines (for example, Get1Resource) and then call GetMemFragment to complete the processing required to prepare it for use (for example, to resolve any imports and execute the fragment’s initialization routine).
  3102. sWARNING
  3103. You must lock the resource-based fragment into memory (for example, by calling HLock) before calling GetMemFragment. You must not unlock the memory until you’ve closed the connection to the fragment (by calling CloseConnection).s
  3104. RESULT CODESfragNoErr    0    No error    
  3105. paramErr    –50    Parameter error    
  3106. fragLibNotFound    –2804    Specified fragment not found    
  3107. fragHadUnresolveds    –2807    Loaded fragment has unacceptable unresolved symbols    
  3108. fragNoMem    –2809    Not enough memory for internal bookkeeping    
  3109. fragNoAddrSpace    –2810    Not enough memory in user’s address space for section    
  3110. fragObjectInitSeqErr    –2812    Order error during user initialization function    
  3111. fragImportTooOld    –2813    Import library is too old    
  3112. fragImportTooNew    –2814    Import library is too new    
  3113. fragInitLoop    –2815    Circularity in required initialization order    
  3114. fragLibConnErr    –2817    Error connecting to fragment    
  3115. fragUserInitProcErr    –2821    Initialization procedure did not return noErr    
  3116.  
  3117. SEE ALSO
  3118. See “Loading Code Fragments” on page 3-10 for more details on the fragment-
  3119. loading process.
  3120. GetSharedLibrary
  3121.  
  3122. You can use the GetSharedLibrary function to locate and possibly also load an import library into your application’s context.
  3123. OSErr GetSharedLibrary (Str63 libName, OSType archType, 
  3124.                                     LoadFlags findFlags, 
  3125.                                     ConnectionID *connID, Ptr *mainAddr, 
  3126.                                     Str255 errName);
  3127. libName    The name of an import library.
  3128. archType    The instruction set architecture of the import library. For the PowerPC architecture, use the constant kPowerPCArch. For the 680x0 architecture, use the constant kMotorola68KArch.
  3129. findFlags    A flag that specifies the operation to perform on the import library. See the description of the GetDiskFragment function on page 3-19 for the values you can pass in this parameter.
  3130. connID    On exit, the connection ID that identifies the connection to the import library. You can pass this ID to other Code Fragment Manager routines.
  3131. mainAddr    On exit, the main address of the import library. The value returned is specific to the import library itself and is not used by the Code 
  3132. Fragment Manager.
  3133. errName    On exit, the name of the fragment that could not successfully be loaded. This parameter is meaningful only if the call to GetSharedLibrary fails.
  3134. DESCRIPTION
  3135. The GetSharedLibrary function locates the import library named by the libName parameter and possibly also loads that import library into your application’s context. The actions of GetSharedLibrary depend on the action flag you pass in the findFlags parameter; pass kFindLib to get the connection ID of an existing connection to the specified fragment, kLoadLib to load the specified fragment, or kLoadNewCopy to load the fragment with a new copy of the fragment’s data section.
  3136. The GetSharedLibrary function does not resolve any unresolved imports in your application. In particular, you cannot use it to resolve any weak imports in your 
  3137. code fragment.
  3138. RESULT CODESfragNoErr    0    No error    
  3139. paramErr    –50    Parameter error    
  3140. fragLibNotFound    –2804    Specified fragment not found    
  3141. fragHadUnresolveds    –2807    Loaded fragment has unacceptable unresolved symbols    
  3142. fragNoMem    –2809    Not enough memory for internal bookkeeping    
  3143. fragNoAddrSpace    –2810    Not enough memory in user’s address space for section    
  3144. fragObjectInitSeqErr    –2812    Order error during user initialization function    
  3145. fragImportTooOld    –2813    Import library is too old    
  3146. fragImportTooNew    –2814    Import library is too new    
  3147. fragInitLoop    –2815    Circularity in required initialization order    
  3148. fragLibConnErr    –2817    Error connecting to fragment    
  3149. fragUserInitProcErr    –2821    Initialization procedure did not return noErr    
  3150.  
  3151. SEE ALSO
  3152. See “Loading Code Fragments” on page 3-10 for more details on the fragment-
  3153. loading process.
  3154. Unloading Fragments
  3155.  
  3156. The Code Fragment Manager provides one function that you can use to close an existing connection to a fragment.
  3157. CloseConnection
  3158.  
  3159. You can use the CloseConnection function to close a connection to a fragment.
  3160. OSErr CloseConnection (ConnectionID *connID);
  3161. connID    A connection ID.
  3162. DESCRIPTION
  3163. The CloseConnection function closes the connection to a fragment indicated by the connID parameter. CloseConnection decrements the count of existing connections to the specified fragment and, if the resulting count is 0, calls the fragment’s termination routine and releases the memory occupied by the code and data sections of the fragment. If the resulting count is not 0, any per-connection data is released but the code section remains in memory.
  3164. When a fragment is unloaded as a result of its final connection having been closed, all libraries that depend on that fragment are also released, provided that their usage counts are also 0.
  3165. The Code Fragment Manager automatically closes any connections that remain 
  3166. open at the time ExitToShell is called for your application, so you need to call CloseConnection only for fragments you wish to unload before your application terminates.
  3167. SPECIAL CONSIDERATIONS
  3168. You can close a connection only to the root of a loading sequence (that is, the fragment whose loading triggered the entire load chain).
  3169. RESULT CODESfragNoErr    0    No error    
  3170. fragConnectionIDNotFound    –2801    Connection ID is not valid    
  3171.  
  3172. Finding Symbols
  3173.  
  3174. The Code Fragment Manager provides three functions that you can use to find the symbols exported by a fragment and get information about them: FindSymbol, CountSymbols, and GetIndSymbol.
  3175. FindSymbol
  3176.  
  3177. You can use the FindSymbol function to search for a specific exported symbol.
  3178. OSErr FindSymbol (ConnectionID connID, Str255 symName, 
  3179.                             Ptr *symAddr, SymClass *symClass);
  3180. connID    A connection ID.
  3181. symName    A symbol name.
  3182. symAddr    On exit, the address of the symbol whose name is symName.
  3183. symClass    On exit, the class of the symbol whose name is symName. See the description below for a list of the recognized symbol classes.
  3184. DESCRIPTION
  3185. The FindSymbol function searches the code fragment identified by the connID parameter for the symbol whose name is specified by the symName parameter. If that symbol is found, FindSymbol returns the address of the symbol in the symAddr parameter and the class of the symbol in the symClass parameter. The currently recognized symbol classes are defined by constants.
  3186. enum {
  3187.     kCodeSymbol                        = 0,        /*a code symbol*/
  3188.     kDataSymbol                        = 1,        /*a data symbol*/
  3189.     kTVectSymbol                        = 2        /*a transition vector symbol*/
  3190. };
  3191. Because a fragment’s code is normally exported through transition vectors to that code, the value kCodeSymbol is not returned in the PowerPC environment. You can use the other two constants to distinguish exports that represent code (of class kTVectSymbol) from those that represent general data (of class kDataSymbol).
  3192. RESULT CODESfragNoErr    0    No error    
  3193. fragConnectionIDNotFound    –2801    Connection ID is not valid    
  3194. fragSymbolNotFound    –2802    Symbol was not found in connection    
  3195.  
  3196. CountSymbols
  3197.  
  3198. You can use the CountSymbols function to determine how many symbols are exported from a specified fragment.
  3199. OSErr CountSymbols (ConnectionID connID, long *symCount);
  3200. connID    A connection ID.
  3201. symCount    On exit, the number of exported symbols in the fragment whose connection ID is connID.
  3202. DESCRIPTION
  3203. The CountSymbols function returns, in the symCount parameter, the number of symbols exported by the fragment whose connection ID is connID. You can use the value returned in symCount to index through all the exported symbols in a particular fragment (using the GetIndSymbol function).
  3204. RESULT CODESfragNoErr    0    No error    
  3205. fragConnectionIDNotFound    –2801    Connection ID is not valid    
  3206.  
  3207. GetIndSymbol
  3208.  
  3209. You can use the GetIndSymbol function to get information about the exported symbols in a fragment.
  3210. OSErr GetIndSymbol (ConnectionID connID, long symIndex, 
  3211.                             Str255 symName, Ptr *symAddr, 
  3212.                             SymClass *symClass);
  3213. connID    A connection ID.
  3214. symIndex    A symbol index. The value of this parameter should be greater than 
  3215. or equal to 1 and less than or equal to the value returned by the CountSymbols function.
  3216. symName    On exit, the name of the indicated symbol.
  3217. symAddr    On exit, the address of the indicated symbol.
  3218. symClass    On exit, the class of the indicated symbol.
  3219. DESCRIPTION
  3220. The GetIndSymbol function returns information about a particular symbol exported by the fragment whose connection ID is connID. If GetIndSymbol executes successfully, it returns the symbol’s name, starting address, and class in the symName, symAddr, and symClass parameters, respectively. See the description of the FindSymbol function (page 3-24) for a list of the values that can be returned in the symClass parameter.
  3221. A fragment’s exported symbols are retrieved in no predetermined order.
  3222. RESULT CODESfragNoErr    0    No error    
  3223. fragConnectionIDNotFound    –2801    Connection ID is not valid    
  3224. fragSymbolNotFound    –2802    Symbol was not found in connection    
  3225.  
  3226. Fragment-Defined Routines
  3227.  
  3228. This section describes the initialization and termination routines that you can define for a fragment.
  3229. ConnectionInitializationRoutine
  3230.  
  3231. You can define a fragment initialization routine that is executed by the Code Fragment Manager when the fragment is first loaded into memory and prepared for execution. An initialization routine has the following type definition:
  3232. typedef OSErr ConnectionInitializationRoutine 
  3233.                                                     (InitBlockPtr initBlkPtr);
  3234. initBlkPtr
  3235. A pointer to a fragment initialization block specifying information about the fragment.
  3236. Parameter blockÆ    contextID    long    A context ID.    
  3237. Æ    closureID    long    A closure ID.    
  3238. Æ    connectionID    long    A connection ID.    
  3239. Æ    fragLocator    FragmentLocator    A fragment location block.    
  3240. Æ    libName    Ptr    A pointer to fragment’s name.    
  3241. Æ    reserved4a    long    Reserved.    
  3242. Æ    reserved4b    long    Reserved.    
  3243. Æ    reserved4c    long    Reserved.    
  3244. Æ    reserved4d    long    Reserved.    
  3245.  
  3246. DESCRIPTION
  3247. A fragment’s initialization routine is executed immediately after the fragment has been loaded into memory (if necessary) and prepared for execution, and immediately before the fragment’s main routine (if it has one) is executed. The initialization routine is passed a pointer to an initialization block, which contains information about the fragment, such as its location and connection ID. See “Fragment Initialization Block” on page 3-15 for a description of the fields of the initialization block.
  3248. You can use the initialization routine to perform any tasks that need to be performed before any of the code or data in the fragment is accessed. For example, you might want to open the fragment’s resource fork (if it has one). You can determine the location of the fragment’s container from the FragmentLocator field of the fragment initialization block whose address is passed to your initialization routine.
  3249. RESULT CODES
  3250. Your initialization routine should return noErr if it executes successfully, and some other result code if it does not. If your initialization routine returns any result code other than noErr, the entire load fails and the error fragUserInitProcErr is returned to the code that requested the root load.
  3251. ConnectionTerminationRoutine
  3252.  
  3253. You can define a fragment termination routine that is executed by the Code Fragment Manager when a fragment is unloaded from memory. A termination routine has the following type definition:
  3254. typedef void ConnectionTerminationRoutine (void);
  3255. DESCRIPTION
  3256. A fragment’s termination routine is executed immediately before the fragment is unloaded from memory. You can use the termination routine to perform any necessary clean-up tasks, such as closing open resource files or disposing of any memory allocated by the fragment.
  3257. Note that a termination routine is not passed any parameters and does not return any result. You are expected to maintain any information about the fragment (such as file reference numbers of any open files) in its static data area.
  3258. Resources
  3259.  
  3260. This section describes the code fragment resource, a resource of type 'cfrg' that is used by the Code Fragment Manager when loading fragments such as applications and import libraries.
  3261. This section describes the structure of this resource after it is compiled by the Rez resource compiler, available from APDA. If you are interested in creating the Rez input file for this resource, see “Creating a Code Fragment Resource” on page 3-12 for detailed information.
  3262. The Code Fragment Resource
  3263.  
  3264. You use a code fragment resource to specify some characteristics of a code fragment. For an application, the code fragment resource indicates to the Process Manager that the application’s data fork contains an executable code fragment. For an import library, the code fragment resource specifies the library’s name and version information.
  3265. IMPORTANT
  3266. A code fragment resource must have resource ID 0.s
  3267. Figure 3-1 shows the structure of a compiled code fragment resource.
  3268. Figure 3-1    Structure of a compiled code fragment ('cfrg') resource
  3269.  
  3270. The compiled version of a code fragment resource contains the following elements:
  3271. n    Reserved. The first two long integers are reserved and should be set to 0.
  3272. n    Version information. This field specifies the current version of the 'cfrg' resource. The current version is 0x00000001.
  3273. n    Reserved. The next four long integers are reserved and should be set to 0.
  3274. n    Number of fragment descriptions. This field specifies the number of code fragment information records that follow this field in the resource. (The value in this field should be the actual number of information records that follow, beginning with 1.)
  3275. Following the array count is an array of code fragment information records. A single file can include one or more containers. Similarly, it might occasionally be useful to assign more than one name to a single import library or application. Typically, however, both applications and import libraries include just a single code fragment information record in their 'cfrg' resources. Each record has the format illustrated in Figure 3-2.
  3276. Figure 3-2    The format of a code fragment information record
  3277.  
  3278. A code fragment information record contains the following elements:
  3279. n    The instruction set architecture. You can use the Rez constant kPowerPC ('pwpc') to specify the PowerPC instruction set architecture.
  3280. n    The update level. For an import library, you can specify either the value kFullLib (0), to indicate that the library is a base library (not an update of some other library), or the value kUpdateLib (1), to indicate that the library updates only part of some other library. Applications should specify the value kFullLib in this field.
  3281. n    The current version number. For an import library, this field specifies the implementa-
  3282. tion version. This field has the same format as the first 4 bytes of a resource of type 'vers'. See the chapter “Finder Interface” in Inside Macintosh: Macintosh Toolbox Essentials for details on the structure of a 'vers' resource.
  3283. n    The oldest definition version number. For an import library, this field specifies the oldest version of the definition library with which the implementation import library is compatible. This field has the same format as the first 4 bytes of a resource of 
  3284. type 'vers'.
  3285. n    The application stack size. For an application, this field specifies the minimum size, in bytes, of the application stack. You can use the Rez constant kDefaultStackSize (0) to indicate that the stack should be given the default size for the current software and hardware configuration. If you determine at run time that your application needs a larger or smaller stack, you can use the standard stack-adjusting techniques that call GetApplLimit and SetApplLimit.
  3286. n    The application’s library directory. For an application, this field specifies the resource ID of an alias resource (a resource of type 'alis') in the application’s resource fork that describes the application’s load directory. See “Import Library Searching” on page 3-5 for more information about load directories. For information about alias resources, see the chapter “Alias Manager” in Inside Macintosh: Files.
  3287. n    A usage field. This field specifies the type of fragment that this record describes. The value kIsLib (0) indicates that the fragment is an import library. The value kIsApp (1) indicates that the fragment is an application. The value kIsDropIn (2) indicates that the fragment is an extension. The Code Fragment Manager recognizes only the values kIsLib and kIsApp. The value kIsDropIn is provided to allow you to put private application extensions in a file and not have the Code Fragment Manager recognize them as shared libraries.
  3288. n    A location field. This field specifies the location of the fragment’s container. The value kInMem (0) indicates that the container is in memory (usually in ROM). This value is intended for use by the Operating System; in general, you should not use it. The value kOnDiskFlat (1) indicates that the container is in the data fork of some file. The value kOnDiskSegmented (2) indicates that the container is in a resource in the resource fork of some file.
  3289. n    The offset to the beginning of the fragment. The interpretation of this field depends 
  3290. on the value specified in the location field immediately preceding this field. If the location field has the value kInMem, this field is the address in memory of the begin-
  3291. ning of the fragment. If the location field has the value kOnDiskFlat, this field is the number of bytes from the beginning of the data fork to the beginning of the fragment itself. You can use the Rez constant kZeroOffset (0) to specify an offset of 0 bytes. If the location field has the value kOnDiskSegmented, this field is the resource type (of type OSType) of the resource that contains the fragment.
  3292. n    The length of the fragment. The interpretation of this field depends on the value specified in the location field immediately preceding the offset field. If the location field has the value kInMem, this field is the address in memory of the end of the fragment. If the location field has the value kOnDiskFlat, this field is the length, in bytes, of the fragment. You can use the Rez constant kWholeFork (0) to indicate that the fragment occupies the entire fork. If the location field has the value kOnDiskSegmented, this field is the sign-extended resource ID of the resource that contains the fragment.
  3293. n    Reserved. The next two long integers are reserved and should be set to 0.
  3294. n    The total length of the code fragment information record. This field specifies 
  3295. the length, in bytes, of this code fragment information record, including the 
  3296. fragment name and any pad bytes added to the name field.
  3297. n    The fragment’s name. This field is a Pascal string that indicates the name of the application or import library. This is the default name used by the debugger for this fragment. This field is padded with null bytes, if necessary, so that the information record extends to a 4-byte boundary.
  3298.  
  3299.  
  3300. Summary of the Code Fragment Manager
  3301.  
  3302. C Summary
  3303.  
  3304. Constants
  3305.  
  3306. /*Gestalt selector and response bits*/
  3307. #define gestaltCFMAttr                                    'cfrg'            /*Code Fragment Manager attributes*/
  3308. enum {
  3309.     gestaltCFMPresent                        = 0                    /*set if Code Fragment Mgr is present*/
  3310. };
  3311. #define kPowerPCArch                                     'pwpc'            /*PowerPC instruction set architecture*/
  3312. #define kMotorola68KArch                                     'm68k'            /*680x0 instruction set architecture*/
  3313. #define kNoLibName                                                ((unsigned char *) 0)
  3314. #define kNoConnectionID                                                ((ConnectionID) 0)
  3315. #define kUnresolvedSymbolAddress                                                ((Ptr) 0x0)
  3316. enum {
  3317.     kLoadLib                        = 1,                    /*load fragment*/
  3318.     kFindLib                        = 2,                    /*find fragment*/
  3319.     kLoadNewCopy                        = 5                    /*load fragment with new copy of data*/
  3320. };
  3321. enum {
  3322.     kCodeSymbol                        = 0,                    /*a code symbol*/
  3323.     kDataSymbol                        = 1,                    /*a data symbol*/
  3324.     kTVectSymbol                        = 2                    /*a transition vector symbol*/
  3325. };
  3326. enum {
  3327.     /*selectors for fragment location record*/
  3328.     kInMem,                                            /*container in memory*/
  3329.     kOnDiskFlat,                                            /*container in a data fork*/
  3330.     kOnDiskSegmented                                            /*container in a resource*/
  3331. };
  3332. Data Types
  3333.  
  3334. typedef long                                        ConnectionID;                    /*connection ID number*/
  3335. typedef unsigned long                                        LoadFlags;                    /*a flag long word*/
  3336. typedef unsigned char                                        SymClass;                    /*symbol class*/
  3337. Fragment Initialization Block
  3338. struct InitBlock {
  3339.     long                                contextID;                    /*context ID*/
  3340.     long                                closureID;                    /*closure ID*/
  3341.     long                                connectionID;                    /*connection ID*/
  3342.     FragmentLocator                                fragLocator;                    /*fragment location*/
  3343.     Ptr                                libName;                    /*pointer to fragment name*/
  3344.     long                                reserved4a;                    /*reserved*/
  3345.     long                                reserved4b;                    /*reserved*/
  3346.     long                                reserved4c;                    /*reserved*/
  3347.     long                                reserved4d;                    /*reserved*/
  3348. };
  3349. typedef struct InitBlock InitBlock, *InitBlockPtr;
  3350. Fragment Location Record
  3351. struct FragmentLocator {
  3352.     long                                where;                    /*location selector*/
  3353.     union {
  3354.         MemFragment                            inMem;                    /*memory location record*/
  3355.         DiskFragment                            onDisk;                    /*disk location record*/
  3356.         SegmentedFragment                            inSegs;                    /*segment location record*/
  3357.     } u;
  3358. };
  3359. typedef struct FragmentLocator FragmentLocator, *FragmentLocatorPtr;
  3360. Memory Location Record
  3361. struct MemFragment {
  3362.     Ptr                                address;                    /*pointer to start of fragment*/
  3363.     long                                length;                    /*length of fragment*/
  3364.     Boolean                                inPlace;                    /*is data section in place?*/
  3365. };
  3366. typedef struct MemFragment MemFragment;
  3367. Disk Location Record
  3368. struct DiskFragment {
  3369.     FSSpecPtr                                fileSpec;                    /*pointer to FSSpec*/
  3370.     long                                offset;                    /*offset to start of fragment*/
  3371.     long                                length;                    /*length of fragment*/
  3372. };
  3373. typedef struct DiskFragment DiskFragment;
  3374. Segment Location Record
  3375. struct SegmentedFragment {
  3376.     FSSpecPtr                                fileSpec;                    /*pointer to FSSpec*/
  3377.     OSType                                rsrcType;                    /*resource type*/
  3378.     short                                rsrcID;                    /*resource ID*/
  3379. };
  3380. typedef struct SegmentedFragment SegmentedFragment;
  3381. Code Fragment Manager Routines
  3382.  
  3383. Loading Fragments
  3384. OSErr GetDiskFragment    (FSSpecPtr fileSpec, long offset, long length, Str63 fragName, LoadFlags findFlags, 
  3385. ConnectionID *connID, Ptr *mainAddr, 
  3386. Str255 errName);
  3387. OSErr GetMemFragment    (Ptr memAddr, long length, Str63 fragName, 
  3388. LoadFlags findFlags, ConnectionID *connID, 
  3389. Ptr *mainAddr, Str255 errName);
  3390. OSErr GetSharedLibrary    (Str63 libName, OSType archType, 
  3391. LoadFlags findFlags, ConnectionID *connID, 
  3392. Ptr *mainAddr, Str255 errName);
  3393. Unloading Fragments
  3394. OSErr CloseConnection    (ConnectionID *connID);
  3395. Finding Symbols
  3396. OSErr FindSymbol    (ConnectionID connID, Str255 symName, 
  3397. Ptr *symAddr, SymClass *symClass);
  3398. OSErr CountSymbols    (ConnectionID connID, long *symCount);
  3399. OSErr GetIndSymbol    (ConnectionID connID, long symIndex, 
  3400. Str255 symName, Ptr *symAddr, 
  3401. SymClass *symClass);
  3402. Fragment-Defined Routines
  3403.  
  3404. Initializing Fragments
  3405. typedef OSErr ConnectionInitializationRoutine
  3406. (InitBlockPtr initBlkPtr);
  3407. Terminating Fragments
  3408. typedef void ConnectionTerminationRoutine
  3409. (void);
  3410. Result CodesfragNoErr    0    No error    
  3411. paramErr    –50    Parameter error    
  3412. fragContextNotFound    –2800    Context ID is not valid    
  3413. fragConnectionIDNotFound    –2801    Connection ID is not valid    
  3414. fragSymbolNotFound    –2802    Symbol was not found in connection    
  3415. fragSectionNotFound    –2803    Section was not found    
  3416. fragLibNotFound    –2804    Library name not found in fragment registry    
  3417. fragDupRegLibName    –2805    Registered name already in use    
  3418. fragFormatUnknown    –2806    Fragment container format unknown    
  3419. fragHadUnresolveds    –2807    Loaded fragment has unacceptable unresolved symbols    
  3420. fragNoMem    –2809    Not enough memory for internal bookkeeping    
  3421. fragNoAddrSpace    –2810    Not enough memory in user’s address space for section    
  3422. fragNoContextIDs    –2811    No more context IDs available    
  3423. fragObjectInitSeqErr    –2812    Order error during user initialization function    
  3424. fragImportTooOld    –2813    Import library is too old    
  3425. fragImportTooNew    –2814    Import library is too new    
  3426. fragInitLoop    –2815    Circularity in required initialization order    
  3427. fragInitRtnUsageErr    –2816    Boot library has initialization routine    
  3428. fragLibConnErr    –2817    Error connecting to library    
  3429. fragMgrInitErr    –2818    Error during Code Fragment Manager initialization    
  3430. fragConstErr    –2819    Internal inconsistency discovered    
  3431. fragCorruptErr    –2820    Fragment container is corrupted    
  3432. fragUserInitProcErr    –2821    Initialization procedure did not return noErr    
  3433. fragAppNotFound    –2822    No application found in 'cfrg' resource    
  3434. fragArchErr    –2823    Fragment targeted for unacceptable architecture    
  3435. fragInvalidFragmentUsage    –2824    Fragment is used invalidly    
  3436.  
  3437.  
  3438.  
  3439. Listing 4-0
  3440. Table 4-0
  3441. Exception Manager
  3442. Contents
  3443. About the Exception Manager4-3
  3444. Exception Contexts4-4
  3445. Types of Exceptions4-5
  3446. Using the Exception Manager4-6
  3447. Installing an Exception Handler4-6
  3448. Writing an Exception Handler4-7
  3449. Exception Manager Reference4-9
  3450. Constants4-9
  3451. Exception Kinds4-9
  3452. Memory Reference Kinds4-11
  3453. Data Structures4-12
  3454. Machine Information Records4-12
  3455. Register Information Records4-12
  3456. Floating-Point Information Records4-14
  3457. Memory Exception Records4-15
  3458. Exception Information Records4-16
  3459. Exception Manager Routines4-17
  3460. Application-Defined Routines4-17
  3461. Summary of the Exception Manager4-19
  3462. C Summary4-19
  3463. Constants4-19
  3464. Data Types4-19
  3465. Exception Manager Routines4-22
  3466. Application-Defined Routines4-22
  3467. Exception Manager
  3468. This chapter describes the Exception Manager, the part of the Macintosh system software that handles exceptions that occur during the execution of PowerPC applications or other software. The Exception Manager provides a simple way for your application to handle exceptions that occur in its context.
  3469. You need the information in this chapter if you need to handle exceptions that occur in native PowerPC code. If your application or other software is written in 680x0 code and therefore executes under the 68LC040 Emulator on PowerPC processor-based Macintosh computers, you do not in general need to read this chapter, because the existing 680x0 mechanism for handling exceptions is fully supported by the emulator.
  3470. IMPORTANT
  3471. The Exception Manager is available only in the system software for PowerPC processor-based Macintosh computers. In addition, not all features described here are available in the first version. For example, the Exception Manager in the first version does not return exceptions that arise during floating-point calculations. If your application performs floating-point operations and needs to handle any exceptions that arise during those operations, you should use the exception-
  3472. handling mechanisms provided by the PowerPC Numerics library. See Inside Macintosh: PowerPC Numerics for complete information.s
  3473. To use this chapter, you should already be generally familiar with the Macintosh Operating System. See the books Inside Macintosh: Processes and Inside Macintosh: Memory for information about the run-time architecture of the 680x0 environment. You also need to be familiar with the run-time architecture of PowerPC processor-based Macintosh computers, as explained in the chapter “Introduction to PowerPC System Software.”
  3474. This chapter begins with a description of exceptions and their handling in the PowerPC native environment. Then it shows how to use the Exception Manager to install your own exception handler.
  3475.  
  3476. About the Exception Manager
  3477.  
  3478. An exception is an error or other special condition detected by the microprocessor in the course of program execution. When an exception occurs, the Operating System transfers control synchronously to the relevant exception handler, which attempts to recover gracefully from the error or special condition. The kinds of errors or other conditions that give rise to exceptions differ from one processor to another. On 680x0 processors, for example, an exception is generated if the currently executing program attempts to divide by zero. By contrast, the PowerPC processor does not generate an exception under 
  3479. that condition.
  3480. In general, applications or other types of software (including much of the Macintosh Operating System and the Macintosh Toolbox) cannot tolerate the occurrence of exceptions. To provide some measure of protection from potentially fatal exceptions, the Operating System installs its own set of exception handlers. You can, if necessary, use the Exception Manager to install application-specific exception handlers. Any exception handlers that you install apply only to your current context and only to exceptions that are not first intercepted and handled by the Operating System.
  3481. IMPORTANT
  3482. Not all exceptions that occur in your application’s context are passed to your exception handler. Certain exceptions (for example, page faults) are handled completely by the Operating System’s exception handlers. As a result, those exceptions do not affect the normal execution of your application or other software.s
  3483. When your exception handler is called, the Exception Manager passes it a parameter that contains information about the state of the machine at the time the exception occurred. On PowerPC processor-based Macintosh computers, this information includes
  3484. n    the kind of exception that occurred
  3485. n    the contents of the 32 general-purpose registers
  3486. n    the contents of the special-purpose registers (such as the Link Register and the Condition Register)
  3487. n    the contents of the 32 floating-point registers
  3488. Your exception handler can handle the exception in various ways. For example, it might modify the machine state and then resume execution. Similarly, your exception handler might simply transfer control to some other code. In rare instances, however, your exception handler might not be able to handle the exception; when this happens, the exception is usually fatal to your application.
  3489. Exception Contexts
  3490.  
  3491. In the first version of the system software for PowerPC processor-based Macintosh computers, each application can install its own exception handler, which remains the active handler as long as that application is the current application. In other words, the exception handler of the current application is called for all exceptions not intercepted 
  3492. by the Operating System. In general, this mechanism results in the execution of the appropriate exception handler. It’s possible, however, for code you install to cause exceptions that are handled by some other application’s exception handler. For instance, exceptions that arise during the asynchronous execution of code (such as VBL tasks, Time Manager tasks, and I/O completion routines) are handled by the exception handler of whatever application happens to be the current application at the time the exception occurs. If that application has not installed an exception handler, the exception might not be handled.
  3493. All asynchronous code executed in the first version of the system software for PowerPC processor-based Macintosh computers is executed under the 68LC040 Emulator, in which case the exceptions are handled using the existing 680x0 mechanisms. If, however, a routine executed asynchronously calls some code that is native PowerPC code, and if that native code causes an exception to occur, then the current application’s exception handler (if any) is called to handle the exception.
  3494. Types of Exceptions
  3495.  
  3496. In the first version of the system software for PowerPC processor-based Macintosh computers, the following conditions can cause exceptions while your application or other software is executing in native mode:
  3497. n    an attempt to write to write-protected memory
  3498. n    an attempt to access (that is, read, write, or fetch) data at a logical address that is 
  3499. not assigned
  3500. n    an attempt to execute trap instructions or other instructions that are not part of the supported application programming interface
  3501. n    an attempt to execute invalid instructions or an invalid form of a valid instruction
  3502. n    an attempt to execute privileged instructions when the system is not in 
  3503. privileged mode
  3504. n    in appropriate circumstances, reaching a breakpoint
  3505. n    in appropriate circumstances, reaching a trace point
  3506. The Exception Manager defines a number of exception codes that indicate these and other conditions. An exception code is a constant that indicates which kind of exception has occurred.
  3507. typedef unsigned long                                        ExceptionKind;                        /*kind of exception*/
  3508. enum {
  3509.     /*exception codes*/
  3510.     unknownException                                                = 0,            /*unknown exception type*/
  3511.     illegalInstructionException                                                = 1,            /*illegal instruction*/
  3512.     trapException                                                = 2,            /*unknown trap type*/
  3513.     accessException                                                = 3,            /*failed memory access*/
  3514.     unmappedMemoryException                                                = 4,            /*memory is unmapped*/
  3515.     excludedMemoryException                                                = 5,            /*memory is excluded*/
  3516.     readOnlyMemoryException                                                = 6,            /*memory is read-only*/
  3517.     unresolvablePageFaultException                                                = 7,            /*unresolvable page fault*/
  3518.     privilegeViolationException                                                = 8,            /*privilege violation*/
  3519.     traceException                                                = 9,            /*trace*/
  3520.     instructionBreakpointException                                                = 10,            /*instruction breakpoint*/
  3521.     dataBreakpointException                                                = 11,            /*data breakpoint*/
  3522.     integerException                                                = 12,            /*unused*/
  3523.     floatingPointException                                                = 13,            /*floating point*/
  3524.     stackOverflowException                                                = 14,            /*stack overflow*/
  3525.     terminationException                                                = 15            /*task is being terminated*/
  3526. };
  3527. Not all of these exception codes are used in the first version of the system software for PowerPC processor-based Macintosh computers; see “Exception Kinds” on page 4-9 for a complete explanation of these constants.
  3528.  
  3529. Using the Exception Manager
  3530.  
  3531. The Exception Manager provides a routine that you can use to install an exception handler and remove an exception handler. This section describes how to use this routine and how to write an exception handler.
  3532. Installing an Exception Handler
  3533.  
  3534. You can install an exception handler for your application’s context by calling the InstallExceptionHandler routine. You pass InstallExceptionHandler the address of your exception handler:
  3535. prevHandler = InstallExceptionHandler((ExceptionHandler)myHandler);
  3536. The InstallExceptionHandler function replaces any existing exception handler already installed for the current execution context (that is, for the current application) and returns the address of that previously installed handler. Listing 4-1 shows a 
  3537. routine that installs an exception handler as part of a wrapper around the NewEmptyHandle function.
  3538. Listing 4-1    Installing an exception handler
  3539.  
  3540. static jump_buf *curJmpBuf;
  3541.  
  3542. Handle __NewEmptyHandle (ushort trapWord)
  3543. {
  3544.     Handle                            returnVal;
  3545.     OSErr                            myErr;
  3546.     jmp_buf                            localJump, *oldJump;
  3547.     ExceptionHandler                            prevHandler;
  3548.  
  3549.     oldJump = curJmpBuf;                                                    /*save current jump address*/
  3550.     curJmpBuf = &localJump;                                                    /*install new jump address*/
  3551.  
  3552.     prevHandler = InstallExceptionHandler((ExceptionHandler)MyHandler);
  3553.     if (myErr = setjmp(localJump)) {
  3554.         LMSetMemErr(theErr);                                                /*set memory error*/
  3555.         returnVal = 0;                                                /*no bytes allocated*/
  3556.     }
  3557.     else
  3558.         myErr = c_NewEmptyHandle(&returnVal, trapWord);
  3559.  
  3560.     InstallExceptionHandler(prevHandler);                                                    /*restore previous handler*/
  3561.     curJmpBuf = oldJump;                                                    /*restore original jump address*/
  3562.     return (returnVal);
  3563. }
  3564. You can remove the current exception handler from your application’s context by passing the value nil as the parameter to InstallExceptionHandler, as follows:
  3565. prevHandler = InstallExceptionHandler(nil);
  3566. Writing an Exception Handler
  3567.  
  3568. An exception handler has the following prototype:
  3569. typedef OSStatus (*ExceptionHandler) (ExceptionInformation *theException);
  3570. When your handler is called, the Exception Manager passes it the address of an exception information record, which contains information about the exception, such as its type and the state of the machine at the time the exception occurred. The exception information record is defined by the ExceptionInformation data type.
  3571. struct ExceptionInformation {
  3572.     ExceptionKind                                            theKind;
  3573.     MachineInformation                                            *machineState;
  3574.     RegisterInformation                                            *registerImage;
  3575.     FPUInformation                                            *FPUImage;
  3576.     union {
  3577.         MemoryExceptionInformation                                        *memoryInfo;
  3578.     } info;
  3579. };
  3580. typedef struct ExceptionInformation ExceptionInformation;
  3581. The theKind field contains an exception code. The fields machineState and registerImage contain information about the special-purpose and general-purpose registers, respectively. The values in the special-purpose registers are contained in a machine information record, defined by the MachineInformation data type.
  3582. struct MachineInformation {
  3583.     UnsignedWide                            CTR;        /*Count Register*/
  3584.     UnsignedWide                            LR;        /*Link Register*/
  3585.     UnsignedWide                            PC;        /*Program Counter Register*/
  3586.     unsigned long                            CR;        /*Condition Register*/
  3587.     unsigned long                            XER;        /*Fixed-Point Exception Register*/
  3588.     unsigned long                            MSR;        /*Machine State Register*/
  3589. };
  3590. typedef struct MachineInformation MachineInformation;
  3591. As you can see, this record contains primarily the values in the special-purpose registers. The values in the general-purpose registers are encoded using a structure of type RegisterInformation, which is effectively an array of 32 register values.
  3592. Note
  3593. For a more detailed description of the exception information record 
  3594. and its associated data types, see “Data Structures” beginning on page 4-12.u
  3595. Your exception handler can perform any actions necessary or useful for handling the exception. You might attempt to recover from the error or simply terminate your application gracefully. The specific actions you perform depend, of course, on the type 
  3596. of exception that has occurred. In general, however, you will probably want to use 
  3597. one or the other of two basic techniques for recovering from the exception.
  3598. n    Your exception handler might simply transfer control away from the point of execution. For example, you might jump back into your main event loop or into 
  3599. some error recovery code.
  3600. n    Alternatively, your exception handler might attempt to repair the cause of the excep-
  3601. tion by suitably modifying the state of the machine (as reported to your exception handler in an exception information record). You can alter any piece of that machine state, including the PC register. After you have suitably modified the relevant data, your handler should return, passing back a result code. The Exception Manager inspects the result code you return and determines what further actions to take. If you pass back noErr, then the Exception Manager restores the machine state to the state contained in the exception information record and resumes execution. If you pass back any other result code, the Operating System proceeds as if the exception had occurred but no exception handler was present.
  3602. Listing 4-2 shows a simple exception handler MyHandler.
  3603. Listing 4-2    A native exception handler
  3604.  
  3605. OSStatus MyHandler (ExceptionInformation *theException)
  3606. {
  3607.     if ((theException->theKind >= accessException) 
  3608.                     && (theException ->theKind <= unresolvablePageFaultException))
  3609.         longjmp(*curJmpBuf, memWZErr);
  3610.     else
  3611.         return (-1);
  3612. }
  3613. As you can see, the MyHandler exception handler looks for memory-related exceptions and, if it finds any, transfers control by calling the longjmp function.
  3614. sWARNING
  3615. sWARNING
  3616. Returning a value other than noErr from your exception handler is likely to cause the current application to be terminated.s
  3617. sWARNING
  3618. Your exception handler must be reentrant if it might itself cause any exceptions to be generated. For example, if your exception handler 
  3619. calls the Debugger or DebugStr routine, the trap exception (of type trapException) is generated. Normally, a debugger intercepts and handles those kinds of exceptions. If, however, no debugger is installed in the system, your exception handler might be called repeatedly. Eventually, the stack will grow to the lowest memory address, overwriting essential data and causing a system crash.s
  3620.  
  3621. Exception Manager Reference
  3622.  
  3623. This section describes the constants, data structures, and routine provided by the Exception Manager. See “Using the Exception Manager” beginning on page 4-6 
  3624. for detailed instructions on using that routine.
  3625. Constants
  3626.  
  3627. This section describes the constants provided by the Exception Manager.
  3628. Exception Kinds
  3629.  
  3630. The Exception Manager indicates to your exception handler the kind of exception 
  3631. that has occurred by passing it an exception code. The exception kind is indicated by 
  3632. a constant.
  3633. Note
  3634. Some kinds of exceptions occur only on specific types of 
  3635. processors or only in specific system software versions.u
  3636. enum {
  3637.     /*exception codes*/
  3638.     unknownException                                                = 0,            /*unknown exception type*/
  3639.     illegalInstructionException                                                = 1,            /*illegal instruction*/
  3640.     trapException                                                = 2,            /*unknown trap type*/
  3641.     accessException                                                = 3,            /*failed memory access*/
  3642.     unmappedMemoryException                                                = 4,            /*memory is unmapped*/
  3643.     excludedMemoryException                                                = 5,            /*memory is excluded*/
  3644.     readOnlyMemoryException                                                = 6,            /*memory is read-only*/
  3645.     unresolvablePageFaultException                                                = 7,            /*unresolvable page fault*/
  3646.     privilegeViolationException                                                = 8,            /*privilege violation*/
  3647.     traceException                                                = 9,            /*trace*/
  3648.     instructionBreakpointException                                                = 10,            /*instruction breakpoint*/
  3649.     dataBreakpointException                                                = 11,            /*data breakpoint*/
  3650.     integerException                                                = 12,            /*unused*/
  3651.     floatingPointException                                                = 13,            /*floating point*/
  3652.     stackOverflowException                                                = 14,            /*stack overflow*/
  3653.     terminationException                                                = 15            /*task is being terminated*/
  3654. };
  3655. Constant descriptions
  3656. unknownException
  3657. Unknown kind of exception. This exception code is defined for completeness only; it is never actually passed to an exception handler.
  3658. illegalInstructionException
  3659. Illegal instruction exception. The processor attempted to decode an instruction that is either illegal or unimplemented.
  3660. trapException    Unknown trap type exception. The processor decoded a trap type instruction that is not used by the system software.
  3661. accessException
  3662. Memory access exception. A memory reference resulted in a page fault because the physical address is not accessible.
  3663. unmappedMemoryException
  3664. Unmapped memory exception. A memory reference was made to an address that is unmapped.
  3665. excludedMemoryException
  3666. Excluded memory exception. A memory reference was made to an excluded address.
  3667. readOnlyMemoryException
  3668. Read-only memory exception. A memory reference was made to an address that cannot be written to.
  3669. unresolvablePageFaultException
  3670. Unresolvable page fault exception. A memory reference resulted in a page fault that could not be resolved. The theError field of the memory exception record contains a status value indicating the reason for this unresolved page fault.
  3671. privilegeViolationException
  3672. Privilege violation exception. The processor decoded a privileged instruction but was not executing in the privileged mode.
  3673. traceException
  3674. Trace exception. This exception is used by debuggers to support single-step operations.
  3675. instructionBreakpointException
  3676. Instruction breakpoint exception. This exception is used by debuggers to support breakpoint operations.
  3677. dataBreakpointException
  3678. Data breakpoint exception. This exception is used by debuggers to support breakpoint operations.
  3679. integerException
  3680. Integer exception. This exception is not used by PowerPC processors.
  3681. floatingPointException
  3682. Floating-point arithmetic exception. The floating-point processor has exceptions enabled and an exception has occurred. (This exception is not used in the first version of the system software 
  3683. for PowerPC processor-based Macintosh computers.)
  3684. stackOverflowException
  3685. Stack overflow exception. The stack limits have been exceeded and the stack cannot be expanded. (This exception is not used in the first version of the system software for PowerPC processor-based Macintosh computers.)
  3686. terminationException
  3687. Termination exception. The task is being terminated. (This exception is not used in the first version of the system software for PowerPC processor-based Macintosh computers.)
  3688. Memory Reference Kinds
  3689.  
  3690. For each memory-related exception, the Exception Manager returns a memory exception record. The theReference field of that record contains a memory reference code that indicates the kind of memory operation that caused the exception.
  3691. enum {
  3692.     /*memory reference codes*/
  3693.     writeReference                                        = 0,            /*write operation*/
  3694.     readReference                                        = 1,            /*read operation*/
  3695.     fetchReference                                        = 2            /*fetch operation*/
  3696. };
  3697. Constant descriptions
  3698. writeReference
  3699. The operation was an attempt to write data to memory.
  3700. readReference    The operation was an attempt to read data from memory.
  3701. fetchReference    The operation was an attempt to fetch a processor instruction. (Not all processors are able to distinguish read operations from fetch operations. As a result, fetch operation failures might instead be reported as failed read operations.)
  3702. Data Structures
  3703.  
  3704. This section describes the data structures provided by the Exception Manager.
  3705. Machine Information Records
  3706.  
  3707. The Exception Manager uses a machine information record to encode the state of the special-purpose registers at the time an exception occurs. A machine information record is defined by the MachineInformation data type.
  3708. struct MachineInformation {
  3709.     UnsignedWide                            CTR;        /*Count Register*/
  3710.     UnsignedWide                            LR;        /*Link Register*/
  3711.     UnsignedWide                            PC;        /*Program Counter Register*/
  3712.     unsigned long                            CR;        /*Condition Register*/
  3713.     unsigned long                            XER;        /*Fixed-Point Exception Register*/
  3714.     unsigned long                            MSR;        /*Machine State Register*/
  3715. };
  3716. typedef struct MachineInformation MachineInformation;
  3717. Note
  3718. The fields CTR, LR, and PC are declared as the 64-bit type UnsignedWide to allow compatibility with 64-bit processors. 
  3719. On 32-bit processors, the register values are returned in the 
  3720. low-order 32 bits. The high-order 32 bits are undefined.u
  3721. Field descriptions
  3722. CTR    The contents of the Count Register (CTR).
  3723. LR    The contents of the Link Register (LR).
  3724. PC    The contents of the Program Counter Register (PC).
  3725. CR    The contents of the Condition Register (CR).
  3726. XER    The contents of the Fixed-Point Exception Register (XER).
  3727. MSR    The contents of the Machine State Register (MSR).
  3728. IMPORTANT
  3729. The fields of a machine information record are aligned in memory in accordance with 680x0 alignment conventions.s
  3730. Register Information Records
  3731.  
  3732. The Exception Manager uses a register information record to encode the state of the general-purpose registers at the time an exception occurs. A register information record is defined by the RegisterInformation data type.
  3733. struct RegisterInformation {
  3734.     UnsignedWide                            R0;
  3735.     UnsignedWide                            R1;
  3736.     UnsignedWide                            R2;
  3737.     UnsignedWide                            R3;
  3738.     UnsignedWide                            R4;
  3739.     UnsignedWide                            R5;
  3740.     UnsignedWide                            R6;
  3741.     UnsignedWide                            R7;
  3742.     UnsignedWide                            R8;
  3743.     UnsignedWide                            R9;
  3744.     UnsignedWide                            R10;
  3745.     UnsignedWide                            R11;
  3746.     UnsignedWide                            R12;
  3747.     UnsignedWide                            R13;
  3748.     UnsignedWide                            R14;
  3749.     UnsignedWide                            R15;
  3750.     UnsignedWide                            R16;
  3751.     UnsignedWide                            R17;
  3752.     UnsignedWide                            R18;
  3753.     UnsignedWide                            R19;
  3754.     UnsignedWide                            R20;
  3755.     UnsignedWide                            R21;
  3756.     UnsignedWide                            R22;
  3757.     UnsignedWide                            R23;
  3758.     UnsignedWide                            R24;
  3759.     UnsignedWide                            R25;
  3760.     UnsignedWide                            R26;
  3761.     UnsignedWide                            R27;
  3762.     UnsignedWide                            R28;
  3763.     UnsignedWide                            R29;
  3764.     UnsignedWide                            R30;
  3765.     UnsignedWide                            R31;
  3766. };
  3767. typedef struct RegisterInformation RegisterInformation;
  3768. Field descriptions
  3769. R0    The contents of general-purpose register GPR0.
  3770. R1    The contents of general-purpose register GPR1.
  3771. R2    The contents of general-purpose register GPR2.
  3772. R3    The contents of general-purpose register GPR3.
  3773. R4    The contents of general-purpose register GPR4.
  3774. R5    The contents of general-purpose register GPR5.
  3775. R6    The contents of general-purpose register GPR6.
  3776. R7    The contents of general-purpose register GPR7.
  3777. R8    The contents of general-purpose register GPR8.
  3778. R9    The contents of general-purpose register GPR9.
  3779. R10    The contents of general-purpose register GPR10.
  3780. R11    The contents of general-purpose register GPR11.
  3781. R12    The contents of general-purpose register GPR12.
  3782. R13    The contents of general-purpose register GPR13.
  3783. R14    The contents of general-purpose register GPR14.
  3784. R15    The contents of general-purpose register GPR15.
  3785. R16    The contents of general-purpose register GPR16.
  3786. R17    The contents of general-purpose register GPR17.
  3787. R18    The contents of general-purpose register GPR18.
  3788. R19    The contents of general-purpose register GPR19.
  3789. R20    The contents of general-purpose register GPR20.
  3790. R21    The contents of general-purpose register GPR21.
  3791. R22    The contents of general-purpose register GPR22.
  3792. R23    The contents of general-purpose register GPR23.
  3793. R24    The contents of general-purpose register GPR24.
  3794. R25    The contents of general-purpose register GPR25.
  3795. R26    The contents of general-purpose register GPR26.
  3796. R27    The contents of general-purpose register GPR27.
  3797. R28    The contents of general-purpose register GPR28.
  3798. R29    The contents of general-purpose register GPR29.
  3799. R30    The contents of general-purpose register GPR30.
  3800. R31    The contents of general-purpose register GPR31.
  3801. IMPORTANT
  3802. The fields of a register information record are aligned in memory 
  3803. in accordance with 680x0 alignment conventions.s
  3804. Floating-Point Information Records
  3805.  
  3806. The Exception Manager uses a floating-point information record to encode the state of the floating-point unit at the time an exception occurs. A floating-point information record is defined by the FPUInformation data type.
  3807. struct FPUInformation {
  3808.     UnsignedWide                            Registers[32];                    /*FPU registers*/
  3809.     unsigned long                            FPSCR;                    /*status/control reg*/
  3810. };
  3811. typedef struct FPUInformation FPUInformation;
  3812. Field descriptions
  3813. Field descriptions
  3814. Registers    The contents of the 32 floating-point registers. This array is zero-based; for example, the contents of FPR0 are accessed 
  3815. as Registers[0].
  3816. FPSCR    The contents of the Floating-Point Status and Control 
  3817. Register (FPSCR).
  3818. IMPORTANT
  3819. The fields of a floating-point information record are aligned in memory in accordance with 680x0 alignment conventions.s
  3820. Memory Exception Records
  3821.  
  3822. The Exception Manager uses a memory exception record to present additional informa-
  3823. tion about an exception that occurs as the result of a failed memory reference. A memory exception record is defined by the MemoryExceptionInformation data type.
  3824. struct MemoryExceptionInformation {
  3825.     AreaID                                            theArea;
  3826.     LogicalAddress                                            theAddress;
  3827.     OSStatus                                            theError;
  3828.     MemoryReferenceKind                                            theReference;
  3829. };
  3830. typedef struct MemoryExceptionInformation MemoryExceptionInformation;
  3831. Field descriptions
  3832. theArea    The area containing the logical address of the exception. When the memory reference that caused the exception is to an unmapped range of the logical address space, this field contains the value kNoAreaID.
  3833. theAddress    The logical address of the exception.
  3834. theError    A status value. When the exception kind is unresolvablePageFaultException, this field contains a value that indicates the reason the page fault could not be resolved.
  3835. theReference    The type of memory reference that caused the exception. This field contains one of these constants:
  3836.                     enum {
  3837.                         writeReference                    = 0,        /*write operation*/
  3838.                         readReference                    = 1,        /*read operation*/
  3839.                         fetchReference                    = 2        /*fetch operation*/
  3840.                     };
  3841.     See “Memory Reference Kinds” on page 4-11 for a description of these constants.
  3842. IMPORTANT
  3843. IMPORTANT
  3844. The fields of a memory exception record are aligned in memory in accordance with 680x0 alignment conventions.s
  3845. Exception Information Records
  3846.  
  3847. The Exception Manager passes an exception information record to your exception handler whenever your handler is called as the result of some exception. The exception information record indicates the nature of the exception and provides other information that might be useful to your handler. An exception information record is defined by the ExceptionInformation data type.
  3848. struct ExceptionInformation {
  3849.     ExceptionKind                                            theKind;
  3850.     MachineInformation                                            *machineState;
  3851.     RegisterInformation                                            *registerImage;
  3852.     FPUInformation                                            *FPUImage;
  3853.     union {
  3854.         MemoryExceptionInformation                                        *memoryInfo;
  3855.     } info;
  3856. };
  3857. typedef struct ExceptionInformation ExceptionInformation;
  3858. Field descriptions
  3859. theKind    An exception code indicating the kind of exception that occurred. See “Exception Kinds” on page 4-9 for a list of the available exception codes.
  3860. machineState    The state of the machine at the time the exception occurred. See “Machine Information Records” on page 4-12 for details on the MachineInformation data type.
  3861. registerImage    The contents of the general-purpose registers at the time the exception occurred. See “Register Information Records” on page 4-12 for details on the RegisterInformation data type.
  3862. FPUImage    The state of the floating-point processor at the time the exception occurred. See “Floating-Point Information Records” on page 4-14 for details on the FPUInformation data type.
  3863. memoryInfo    The logical address of the location in memory that triggered 
  3864. the exception.
  3865. IMPORTANT
  3866. The fields of an exception information record are aligned in memory in accordance with 680x0 alignment conventions.s
  3867. Exception Manager Routines
  3868.  
  3869. You can use the Exception Manager’s InstallExceptionHandler routine to install an exception handler or to remove an existing exception handler.
  3870. InstallExceptionHandler
  3871.  
  3872. You can use the InstallExceptionHandler function to install an exception handler.
  3873. extern ExceptionHandler InstallExceptionHandler 
  3874.                                             (ExceptionHandler theHandler);
  3875. theHandler
  3876. The address of the exception handler to be installed.
  3877. DESCRIPTION
  3878. The InstallExceptionHandler function installs the exception handler specified by the theHandler parameter. That handler replaces any existing exception handler associated with the current execution context. The newly installed handler remains active until you install some other handler or until you remove the current handler by calling InstallExceptionHandler with theHandler set to nil.
  3879. IMPORTANT
  3880. The theHandler parameter must be the address of a transition vector for the exception handler, not a universal procedure pointer.s
  3881. The InstallExceptionHandler function returns the address of any existing exception handler as its function result. If there is no exception handler in place 
  3882. for the current execution context, InstallExceptionHandler returns nil.
  3883. SPECIAL CONSIDERATIONS
  3884. The InstallExceptionHandler function is available to any code executing in the PowerPC native environment. You do not need to call it if your application or other software exists as 680x0 code and hence executes under the 68LC040 Emulator on PowerPC processor-based Macintosh computers.
  3885. Application-Defined Routines
  3886.  
  3887. This section describes exception handlers, routines that you install using the InstallExceptionHandler routine to handle specific types of exceptions.
  3888. MyExceptionHandler
  3889.  
  3890. An exception handler should have this prototype:
  3891. OSStatus MyExceptionHandler (ExceptionInformation *theException);
  3892. theException
  3893. The address of an exception information block describing the exception that triggered the exception handler.
  3894. DESCRIPTION
  3895. You pass the address of your MyExceptionHandler routine to the Exception Manager’s InstallExceptionHandler function. The Exception Manager subsequently calls your exception handler for all exceptions that arise in your application’s context that are not intercepted by the Operating System.
  3896. Your exception handler can take whatever steps are necessary to handle the exception or to correct the error or special condition that caused the exception. If your handler is successful, it should return the noErr result code. If you pass back noErr, the Exception Manager restores the machine state to the state contained in the exception information record pointed to by the theException parameter and resumes execution.
  3897. If your handler is not able to handle the exception, it should return some other result code. However, if your handler returns a nonzero result code, the current application is likely to be terminated by the Process Manager.
  3898. An exception handler uses the same stack that is active at the time an exception occurs. To ensure that no stack data is destroyed, the Exception Manager advances the stack pointer prior to calling the exception handler.
  3899. SPECIAL CONSIDERATIONS
  3900. An exception handler must follow the same general guidelines as other kinds of asynchronous software. For instance, it cannot cause memory to be purged or compacted, and it should not use any handles that are not locked. See Inside Macintosh: Processes for a description of the restrictions applying to interrupt tasks and other asynchronous software.
  3901. An exception handler must be reentrant if it can itself generate exceptions.
  3902. SEE ALSO
  3903. See “Writing an Exception Handler” on page 4-7 for more information about writing an exception handler.
  3904.  
  3905.  
  3906. Summary of the Exception Manager
  3907.  
  3908. C Summary
  3909.  
  3910. Constants
  3911.  
  3912. enum {
  3913.     /*exception codes*/
  3914.     unknownException                                                = 0,            /*unknown exception type*/
  3915.     illegalInstructionException                                                = 1,            /*illegal instruction*/
  3916.     trapException                                                = 2,            /*unknown trap type*/
  3917.     accessException                                                = 3,            /*failed memory access*/
  3918.     unmappedMemoryException                                                = 4,            /*memory is unmapped*/
  3919.     excludedMemoryException                                                = 5,            /*memory is excluded*/
  3920.     readOnlyMemoryException                                                = 6,            /*memory is read-only*/
  3921.     unresolvablePageFaultException                                                = 7,            /*unresolvable page fault*/
  3922.     privilegeViolationException                                                = 8,            /*privilege violation*/
  3923.     traceException                                                = 9,            /*trace*/
  3924.     instructionBreakpointException                                                = 10,            /*instruction breakpoint*/
  3925.     dataBreakpointException                                                = 11,            /*data breakpoint*/
  3926.     integerException                                                = 12,            /*unused*/
  3927.     floatingPointException                                                = 13,            /*floating point*/
  3928.     stackOverflowException                                                = 14,            /*stack overflow*/
  3929.     terminationException                                                = 15            /*task is being terminated*/
  3930. };
  3931. enum {
  3932.     /*memory reference codes*/
  3933.     writeReference                                                = 0,            /*write operation*/
  3934.     readReference                                                = 1,            /*read operation*/
  3935.     fetchReference                                                = 2            /*fetch operation*/
  3936. };
  3937. Data Types
  3938.  
  3939. typedef unsigned long                                        ExceptionKind;                        /*kind of exception*/
  3940. typedef unsigned long                                        MemoryReferenceKind;
  3941. typedef void                                         *Ref;
  3942. typedef Ref                                        AreaID;
  3943. typedef Ref                                        LogicalAddress;
  3944. struct UnsignedWide {
  3945.     unsigned long                                    hi;
  3946.     unsigned long                                    lo;
  3947. };
  3948. typedef struct UnsignedWide UnsignedWide;
  3949. struct RegisterInformation {
  3950.     UnsignedWide                            R0;
  3951.     UnsignedWide                            R1;
  3952.     UnsignedWide                            R2;
  3953.     UnsignedWide                            R3;
  3954.     UnsignedWide                            R4;
  3955.     UnsignedWide                            R5;
  3956.     UnsignedWide                            R6;
  3957.     UnsignedWide                            R7;
  3958.     UnsignedWide                            R8;
  3959.     UnsignedWide                            R9;
  3960.     UnsignedWide                            R10;
  3961.     UnsignedWide                            R11;
  3962.     UnsignedWide                            R12;
  3963.     UnsignedWide                            R13;
  3964.     UnsignedWide                            R14;
  3965.     UnsignedWide                            R15;
  3966.     UnsignedWide                            R16;
  3967.     UnsignedWide                            R17;
  3968.     UnsignedWide                            R18;
  3969.     UnsignedWide                            R19;
  3970.     UnsignedWide                            R20;
  3971.     UnsignedWide                            R21;
  3972.     UnsignedWide                            R22;
  3973.     UnsignedWide                            R23;
  3974.     UnsignedWide                            R24;
  3975.     UnsignedWide                            R25;
  3976.     UnsignedWide                            R26;
  3977.     UnsignedWide                            R27;
  3978.     UnsignedWide                            R28;
  3979.     UnsignedWide                            R29;
  3980.     UnsignedWide                            R30;
  3981.     UnsignedWide                            R31;
  3982. };
  3983. typedef struct RegisterInformation RegisterInformation;
  3984. typedef long                                        OSStatus;
  3985. typedef OSStatus (*ExceptionHandler) (ExceptionInformation *theException);
  3986. struct MachineInformation {
  3987.     UnsignedWide                                            CTR;        /*Count Register*/
  3988.     UnsignedWide                                            LR;        /*Link Register*/
  3989.     UnsignedWide                                            PC;        /*Program Counter Register*/
  3990.     unsigned long                                            CR;        /*Condition Register*/
  3991.     unsigned long                                            XER;        /*Fixed-Point Exception Register*/
  3992.     unsigned long                                            MSR;        /*Machine State Register*/
  3993. };
  3994. typedef struct MachineInformation MachineInformation;
  3995. struct FPUInformation {
  3996.     UnsignedWide                                            Registers[32];                    /*FPU registers*/
  3997.     unsigned long                                            FPSCR;                    /*status/control reg*/
  3998. };
  3999. typedef struct FPUInformation FPUInformation;
  4000. struct MemoryExceptionInformation {
  4001.     AreaID                                            theArea;
  4002.     LogicalAddress                                            theAddress;
  4003.     OSStatus                                            theError;
  4004.     MemoryReferenceKind                                            theReference;
  4005. };
  4006. typedef struct MemoryExceptionInformation MemoryExceptionInformation;
  4007. struct ExceptionInformation {
  4008.     ExceptionKind                                            theKind;
  4009.     MachineInformation                                            *machineState;
  4010.     RegisterInformation                                            *registerImage;
  4011.     FPUInformation                                            *FPUImage;
  4012.     union {
  4013.         MemoryExceptionInformation                                        *memoryInfo;
  4014.     } info;
  4015. };
  4016. typedef struct ExceptionInformation ExceptionInformation;
  4017. Exception Manager Routines
  4018.  
  4019. Installing Exception Handlers
  4020. extern ExceptionHandler InstallExceptionHandler
  4021. (ExceptionHandler theHandler);
  4022. Application-Defined Routines
  4023.  
  4024. Exception Handlers
  4025. OSStatus MyExceptionHandler
  4026. (ExceptionInformation *theException);
  4027. Glossary
  4028.  
  4029.  
  4030. 32-bit cleanSaid of an application (or other software) that is able to run in an environment where all 32 bits of a memory address are used for addressing.
  4031. 680x0See 680x0 microprocessor.
  4032. 680x0 applicationAn application that contains code only for a 680x0 microprocessor. See also fat application and PowerPC application.
  4033. 680x0-based Macintosh computerAny computer containing a 680x0 central processing unit that runs Macintosh system software. 
  4034. See also PowerPC processor-based 
  4035. Macintosh computer.
  4036. 680x0 compilerAny compiler that produces code that can execute on a 680x0. See also PowerPC compiler.
  4037. 680x0 context blockA block of data used by the 68LC040 Emulator to maintain information across mode switches. The structure of this block of data is private.
  4038. 680x0 microprocessorAny member of the Motorola 68000 family of microprocessors.
  4039. 680x0 softwareAny software (that is, applica-
  4040. tion, extension, driver, or other executable code) that consists of code only for a 680x0 micro-
  4041. processor. See also 680x0 application.
  4042. 68LC040 EmulatorThe part of the system software that allows 680x0 applications and other 680x0 software to execute on PowerPC processor-
  4043. based Macintosh computers. See also Mixed Mode Manager.
  4044. A5 worldAn area of memory in a 680x0 application’s partition that contains the QuickDraw global variables, the application global variables, the application parameters, 
  4045. and the jump table—all of which are accessed through the A5 register. See also mini-A5 world.
  4046. accelerated resourceAn executable resource consisting of a routine descriptor and PowerPC code that specifically models the behavior of a 680x0 stand-alone code resource. Compare private resource.
  4047. accelerated system software routineAny Toolbox or Operating System routine that has been rewritten as PowerPC code.
  4048. A-line instructionAn instruction that is not recognized by a 680x0 microprocessor and that the Trap Manager uses to execute Toolbox and Operating System routines. The first word of an A-line instruction is binary 1010 (hexadecimal A).
  4049. ANSI C language dialectThe C programming language dialect that adheres to the language defined by the document American National Standard for Information Systems—Programming Language—C, ANSI X3.159-1989.
  4050. applicationA file of type 'APPL' that can be launched by the Process Manager. See also 680x0 application and PowerPC application.
  4051. application extensionA fragment containing code and data (such as a data-conversion filter, tool, and so forth) that extends the capabilities of an application.
  4052. application global variablesA set of variables stored in the application partition that are global to the application.
  4053. application heapAn area of memory in the application heap zone in which memory is dynamically allocated and released on demand.
  4054. application parametersThirty-two bytes of memory in the A5 world of a 680x0 application that are reserved for system use. The first long word is the address of the first QuickDraw global variable.
  4055. application partitionA partition of memory reserved for use by an application. The applica-
  4056. tion partition consists of free space, along with the application’s heap and stack. The application partition for a 680x0 application also contains an A5 world.
  4057. A-trapSee A-line instruction.
  4058. backing-store fileThe file in which the Virtual Memory Manager stores the contents of unneeded pages of memory. See also file mapping and paging file.
  4059. backing volumeSee paging device.
  4060. bindTo find the referent of an import and place its address in a fragment’s table of contents.
  4061. bus sizingSee dynamic bus sizing.
  4062. byte smearingThe ability of certain members of the 680x0 family of microprocessors to duplicate byte- and word-sized data across all 
  4063. 32 bits of the data bus.
  4064. cacheSee data cache or instruction cache.
  4065. callback routineA routine that is executed as part of the operation of some other routine.
  4066. calleeA routine that is called by some routine.
  4067. callerA routine that calls some routine.
  4068. calling conventionsA set of conventions that describe the manner in which a particular routine is executed. A routine’s calling conventions specify where parameters and function results are passed. For a stack-based routine, the calling conventions determine the structure of the routine’s stack frame.
  4069. code fragmentSee fragment.
  4070. code fragment information recordA part of a code fragment resource that provides information about a specific code fragment. There can be more than one code fragment information record in a code fragment resource.
  4071. Code Fragment LoaderThe part of the Macintosh system software that reads containers and loads the fragments they contain into memory. Currently, the application programming interface to the Code Fragment Loader is private. See also Code Fragment Manager.
  4072. Code Fragment ManagerThe part of the Macintosh system software that loads fragments into memory and prepares them for execution. See also Code Fragment Loader and fragment.
  4073. code fragment resourceA resource of type 'cfrg' that identifies the instruction set architec-
  4074. ture, location, size, and name of an application or import library, as well as version information for import libraries. See also code fragment informa-
  4075. tion record.
  4076. code patchSee patch.
  4077. code resourceSee executable resource.
  4078. code sectionA section of a fragment that contains executable code. See also data section.
  4079. code typeSee instruction set architecture.
  4080. compile-time librarySee definition version.
  4081. Condition Register (CR)A register in the PowerPC processor that holds the result of certain integer and floating-point operations.
  4082. connectionA link between two fragments.
  4083. connection IDA reference number that uniquely identifies a connection. Defined by 
  4084. the ConnectionID data type.
  4085. containerThe storage for a fragment. A container is a contiguous chunk of storage that holds a fragment and information describing the location of the parts of the fragment and the format of the container.
  4086. contextThe block of static data (global variables, static variables, and function pointers) associated with one loading of an import library. Each application is loaded into its own context.
  4087. context blockSee 680x0 context block.
  4088. CRSee Condition Register.
  4089. cross-mode callA call to code that is in a different instruction set architecture from the caller’s. See also explicit cross-mode call and implicit cross-mode call.
  4090. cross-TOC callA call to code that is in a different fragment from the caller’s. A cross-TOC call requires that the Table of Contents Register be changed to the callee’s TOC value.
  4091. dangling pointerA pointer that no longer points to the correct memory address.
  4092. data cacheAn area of memory internal to some microprocessors (for example, the MC68030 and MC68040 microprocessors) that holds recently accessed data. See also instruction cache.
  4093. data sectionA section of a fragment that contains its static data, including the fragment’s table of contents. See also code section.
  4094. de facto C++ standardThe current C++ language definition described in the working paper American National Standard for Information Systems—Programming Language—C++, ANSI X3J16.
  4095. definition functionA function that defines the appearance and behavior of some user interface element (for example, a control, list, or window). See also stub definition function.
  4096. definition resourceA resource that contains a definition function. See also stub definition resource.
  4097. definition versionThe version of an import library used by the linker to resolve imports in the application (or other fragment) being linked. The definition version defines the external programming interface and data format of the library. Compare implementation version.
  4098. disk location recordA data structure that provides information about the location of a fragment in the data fork of a file on disk. Defined by the DiskFragment data type.
  4099. drop-inSee application extension.
  4100. dynamically linked librarySee import library.
  4101. dynamic bus sizingThe ability of certain members of the 680x0 family of microprocessors to allow I/O devices with 8-bit and 16-bit data paths to work with the processor’s 32-bit data bus.
  4102. emulated applicationAn application whose executable code is not in the instruction set architecture of the CPU. An emulated application relies on an emulator to translate its code into that instruction set. See also 680x0 application.
  4103. emulationThe process by which a micro-
  4104. processor is able to execute code in an instruction set different from its native instruction set. See also 68LC040 Emulator.
  4105. emulation environmentThe 680x0-compatible environment on PowerPC processor-based Macintosh computers provided by the 68LC040 Emulator and the Mixed Mode Manager.
  4106. emulatorSee 68LC040 Emulator.
  4107. epilogA standard piece of code at the end of a routine that restores any nonvolatile registers saved by the routine’s prolog, tears down the routine’s stack frame, and returns to the caller. See also prolog.
  4108. exceptionAn error or other special condition detected by the microprocessor in the course of program execution.
  4109. exception codeA constant that indicates which kind of exception has occurred.
  4110. exception handlerAny routine that handles exceptions.
  4111. exception information recordA data structure that contains information about an exception, such as the exception kind, the machine state at the time of the exception, and so forth. Defined by the ExceptionInformation data type.
  4112. Exception ManagerThe part of the Macintosh system software that handles exceptions that occur during the execution of PowerPC applica-
  4113. tions or other software.
  4114. exception stack frameA block of data placed on the stack automatically by the processor when an exception occurs.
  4115. executable resourceAny resource that contains executable code. See also accelerated resource and private resource.
  4116. explicit cross-mode callA call to code that is in a different instruction set architecture from the caller’s, caused by the caller explicitly calling the CallUniversalProc function.
  4117. exportTo make a symbol externally visible. Also, a synonym for exported symbol.
  4118. exported symbolA symbol in a fragment that is visible to some other fragments. See also import library and imported symbol.
  4119. Extended Common Object File Format (XCOFF)A format of executable file generated by some PowerPC compilers. See also Preferred Executable Format.
  4120. extensionSee application extension and system extension.
  4121. external codeAny block of executable code that is not directly contained in an application or other software.
  4122. fake definition resourceSee stub definition resource.
  4123. fake handleA handle that was not created by the Memory Manager but is passed to some Memory Manager routine.
  4124. fake pointerA pointer that was not created by the Memory Manager but is passed to some Memory Manager routine.
  4125. fatContaining or describing code of multiple instruction sets.
  4126. fat applicationAn application that contains code of two or more instruction sets. See also 680x0 application and PowerPC application.
  4127. fat binaryAny piece of executable code (application, code resource, trap, or trap patch) that contains code of multiple instruction sets. See also fat application, fat patch, fat resource, and fat trap.
  4128. fat patchA trap patch that contains executable code in two or more instruction sets.
  4129. fat resourceA code-bearing resource that contains executable code in two or more instruction sets. A fat resource begins with a 
  4130. fat routine descriptor.
  4131. fat routine descriptorA routine descriptor that contains routine records for a routine’s code in two or more instruction sets.
  4132. fat trapA system software routine that is implemented in two or more instruction sets. In general, the Operating System selects the trap implementation that avoids mode switches. See also split trap.
  4133. file and directory registryA list of files and directories that the Code Fragment Manager should search when looking for import libraries. See also ROM registry.
  4134. file mappingThe process of using a file’s data fork as the virtual memory paging file.
  4135. Floating-Point Status and Control Register (FPSCR)A 32-bit PowerPC register used to store the floating-point environment.
  4136. FPSee frame pointer.
  4137. FPSCRSee Floating-Point Status and Control Register.
  4138. fragmentAny block of executable PowerPC code and its associated data.
  4139. fragment initialization blockA parameter block passed to a fragment’s initialization routine that contains information about the fragment. Defined by the InitBlock data type.
  4140. fragment location recordA data structure that provides information about the location of a fragment. Defined by the FragmentLocator data type.
  4141. frameSee stack frame or switch frame.
  4142. frame pointer (FP)A pointer to the beginning of a stack frame. See also stack pointer.
  4143. function prototypeA declaration of the types of parameters expected by a function and of the type of the result it returns. ANSI C requires function prototypes for all functions you define.
  4144. global instantiationThe method of allocating an import library’s static data in which only one copy of that data is created regardless of how many connections to the library are made. See also per-context instantiation and per-load instantiation.
  4145. global variablesSee application global variables, QuickDraw global variables, and system global variables.
  4146. glue routineA run-time library routine, usually provided by the development environment, that provides the subroutine linkage between high-
  4147. level language code and a system routine with an interface protocol different from that of the high-level language.
  4148. hard importAn imported symbol that must be defined at run time and whose corresponding code or data must therefore be available in an import library on the host machine. Compare import and soft import.
  4149. head patchA patch that, upon completion, jumps to the next patch in the patch daisy chain. Compare tail patch.
  4150. heapAn area of memory in which space 
  4151. is dynamically allocated and released on 
  4152. demand, using the Memory Manager. See also 
  4153. application heap.
  4154. hybrid environmentSee mixed environment.
  4155. implementation versionThe version of an import library that is connected at load time to the application (or other fragment) being loaded. The implementation version provides the actual executable code and data exported by the library. Compare definition version.
  4156. implicit cross-mode callA call to code that is in a different instruction set architecture from 
  4157. the caller’s, caused by the caller executing a routine descriptor.
  4158. importTo refer to a symbol located in some other fragment. Also, a synonym for 
  4159. imported symbol.
  4160. imported symbolA symbol in a fragment that references code or data exported by some other fragment. See also exported symbol and 
  4161. import library.
  4162. import libraryA shared library that is auto-
  4163. matically loaded at run time by the Code Fragment Manager.
  4164. initialization blockSee fragment initializa-
  4165. tion block.
  4166. initialization routineA function contained in a fragment that is executed immediately after the fragment has been loaded and prepared. See also termination routine.
  4167. input/output (I/O)The parts of a computer system that transfer data to or from 
  4168. peripheral devices.
  4169. instantiationSee global instantiation, per-context instantiation, and per-load instantiation.
  4170. instruction cacheAn area of memory internal to some microprocessors (for example, the MC68020, MC68030, and MC68040 micro-
  4171. processors) that holds recently used instructions. See also data cache.
  4172. instruction set architectureThe set of instruc-
  4173. tions meaningful to a particular microprocessor or to a family of microprocessors.
  4174. interface filesSee universal interface files.
  4175. interruptSee exception.
  4176. I/OSee input/output.
  4177. jump tableAn area of memory in a 680x0 application’s A5 world that contains one entry for every externally referenced routine in every code segment of the application. The jump table is the means by which the loading and unloading of segments are implemented.
  4178. KBAbbreviation for kilobyte. A kilobyte is 1024 bytes.
  4179. leaf procedureA routine that calls no other routines.
  4180. librarySee import library.
  4181. library directoryA directory used by an application or other fragment to store import libraries used by that application or fragment. 
  4182. An application’s library directory is specified 
  4183. in the application’s code fragment resource.
  4184. linkage areaThe area in a PowerPC stack frame that holds the caller’s RTOC value and saved values of the Count Register and Link Register. See also parameter area.
  4185. Link Register (LR)A register in the PowerPC processor that holds the return address of the currently executing routine.
  4186. load directoryThe directory that contains a fragment being loaded into memory and prepared for execution.
  4187. local variableA variable allocated and used only within the current procedure.
  4188. location recordSee fragment location record.
  4189. lock(1) To prevent a relocatable block from being moved during heap compaction. (2) To temporarily prevent a range of physical memory from being paged out or moved by the Virtual Memory Manager.
  4190. low-memory global variablesSee system global variables.
  4191. LRSee Link Register.
  4192. machine information recordA data structure that contains information about the state of the machine at the time an exception occurs. Defined by the MachineInformation data type.
  4193. Macintosh Operating SystemThe part of Macintosh system software that manages basic low-level operations such as file reading and writing, memory allocation and deallocation, process execution, and interrupt handling.
  4194. Macintosh Programmer’s Workshop (MPW)
  4195. A software development system for the Macintosh family of computers provided 
  4196. by Apple Computer.
  4197. Macintosh system software A collection of routines that you can use to simplify your development of Macintosh applications. See 
  4198. also Macintosh Toolbox and Macintosh Operating System.
  4199. Macintosh ToolboxThe part of the Macintosh system software that allows you to implement the standard Macintosh user interface in your application or other software.
  4200. Macintosh User Interface Toolbox See Macintosh Toolbox.
  4201. main routineA function contained in a fragment whose use depends on the kind of fragment it is in. For applications, the main routine is the usual entry point. See also 
  4202. main symbol.
  4203. main symbolA symbol whose use depends on the kind of fragment it is in. For applications, the main symbol refers to the fragment’s main routine. See also main routine.
  4204. MBAbbreviation for megabyte. A megabyte is 1024 kilobytes, or 1,048,576 bytes.
  4205. memory location recordA data structure 
  4206. that provides information about the location 
  4207. of a fragment in memory. Defined by the MemFragment data type.
  4208. memory management unit (MMU)Any component that performs address mapping in a Macintosh computer. In Macintosh II computers, it is either the Address Management Unit (AMU) or the Paged Memory Management Unit (PMMU). The MMU function is built into the MC68030 and MC68040 microprocessors.
  4209. Memory ManagerThe part of the Operating System that dynamically allocates and releases memory space in the heap.
  4210. mini-A5 worldAn area of memory created and maintained by the Process Manager for a native PowerPC application. A native application’s mini-A5 world contains a pointer to the applica-
  4211. tion’s QuickDraw global variables. See also 
  4212. A5 world.
  4213. mixed environmentA process execution environment that supports applications and other software written in more than one instruction set.
  4214. Mixed Mode ManagerThe part of the Macintosh system software that manages the mixed-mode architecture of PowerPC processor-
  4215. based computers running 680x0-based code (including system software, applications, and stand-alone code modules).
  4216. MMUSee memory management unit.
  4217. mode switchThe process of switching the execution context between the CPU’s native context and an emulator (for example, the 68LC040 Emulator). See also switch frame.
  4218. MPWSee Macintosh Programmer’s Workshop.
  4219. nanokernelThe lowest-level part of the system software for PowerPC processor-based Macintosh computers.
  4220. native applicationAn application whose executable code is in the instruction set architecture of the CPU. See also PowerPC application.
  4221. nonvolatile registerA register whose contents must be preserved across subroutine calls. If a routine changes the value of a nonvolatile register, it must save the old value on the stack before changing the register and restore that value before returning. See also saved registers area and volatile register.
  4222. opcodeSee operation code.
  4223. Operating SystemSee Macintosh Operating System.
  4224. operation codeThe part of a machine instruction that encodes the operation to be performed. Often shortened to opcode.
  4225. pageThe basic unit of memory used in 
  4226. virtual memory.
  4227. paged memory management unit (PMMU)The Motorola MC68851 chip, used in the Macintosh II computer to perform logical-to-physical address translation and paged memory management.
  4228. page faultA special kind of bus error caused by an attempt to access data in a page of memory that is not currently resident in RAM.
  4229. pagingThe process of moving data between physical memory and a paging file.
  4230. paging deviceA volume that contains the backing-store file or a paging file.
  4231. paging fileA file used to store unneeded pages of memory. See also backing-store file.
  4232. parameter areaThe area in a PowerPC stack frame that holds the parameters for any routines called by a given routine. See also linkage area.
  4233. partitionA contiguous block of memory reserved for use by the Operating System or by an application. See also application partition and system partition.
  4234. patchAny code used to repair or augment an existing piece of code. In the context of Macintosh system software, a patch repairs or augments a trap. See also head patch and tail patch.
  4235. PCSee program counter.
  4236. PC-relativeA form of instruction addressing 
  4237. in which the destination instruction is some number of instructions before or after the 
  4238. current instruction.
  4239. PEFSee Preferred Executable Format.
  4240. per-context instantiationThe method of allocating an import library’s static data in which one copy of that data is created for each separate application using the library. Using this method, a single application may have only one copy of the static data. See also global instantiation and per-load instantiation.
  4241. per-load instantiationThe method of allocating an extension’s static data in which one copy of that data is created for each separate connection to the extension. Using this method, a single client may have multiple copies of the static data. See also global instantiation and per-context instantiation.
  4242. PMMUSee paged memory management unit.
  4243. PowerPCSee PowerPC microprocessor.
  4244. PowerPC applicationAn application that contains code only for a PowerPC microprocessor. 
  4245. See also 680x0 application and fat application.
  4246. PowerPC compilerAny compiler that produces code that can execute on a PowerPC. See also 680x0 compiler.
  4247. PowerPC microprocessorAny member of the family of PowerPC microprocessors. The MPC601 processor is the first PowerPC CPU.
  4248. PowerPC NumericsThe floating-point environment on PowerPC processor-based Macintosh computers. This environment provides floating-point data types and arithmetic operations, plus some advanced numerical functions (such as logarithmic and trigonometric functions). See also Standard Apple Numerics Environment.
  4249. PowerPC processor-based Macintosh computerAny computer containing a PowerPC central processing unit that runs Macintosh system software. See also 680x0-based Macintosh computer.
  4250. PowerPC softwareAny software (that is, application, extension, driver, or other executable code) that consists of code only for a PowerPC microprocessor. See also PowerPC application.
  4251. Preferred Executable Format (PEF)The format of executable files used for PowerPC applications and other software running on Macintosh computers. See also Extended Common Object File Format.
  4252. prepareTo resolve imports in a fragment to exports in some import library.
  4253. private resourceAny executable resource whose behavior is defined by your application (or other kind of software) alone. Compare accelerated resource.
  4254. procedure informationA long word that encodes information about a routine’s calling conventions, the sizes and locations of the routine’s parameters, and the size and 
  4255. location of the routine’s result. Defined by the ProcInfoType data type.
  4256. procedure pointerA reference generated by a compiler when taking the address of a routine. On 680x0-based Macintosh computers, a procedure pointer is the address of the routine’s executable code (and is defined by the ProcPtr data type). On PowerPC processor-based Macintosh computers, a procedure pointer is the address of the routine’s transition vector.
  4257. Process ManagerThe part of the Macintosh Operating System that provides a cooperative multitasking environment by controlling access to shared resources and managing the scheduling, execution, and termination of applications.
  4258. processor cacheSee data cache or 
  4259. instruction cache.
  4260. ProcInfoTypeSee procedure information.
  4261. ProcPtrSee procedure pointer.
  4262. program counter (PC)A register in the CPU that contains a pointer to the memory location of the next instruction to be executed.
  4263. prologA standard piece of code at the begin-
  4264. ning of a routine that sets up the routine’s stack frame and saves any nonvolatile registers used by the routine. See also epilog.
  4265. prototypeSee function prototype.
  4266. QuickDraw global variablesA set of variables stored in a 680x0 application’s A5 world that contain information used by QuickDraw.
  4267. reduced instruction set computer (RISC)A microprocessor in which all machine instructions are uniformly formatted and are processed through the same steps. See also PowerPC microprocessor.
  4268. Red ZoneThe area of memory immediately above the address pointed to by the stack pointer. The Red Zone is reserved for temporary use by a function’s prolog and as an area to store a leaf routine’s nonvolatile registers.
  4269. reentrant exception handlerAn exception handler that can be interrupted while servicing an exception, then service a new exception, and then complete servicing the original exception.
  4270. register-based routineA routine that receives its parameters and returns its results, if any, in registers. See also stack-based routine.
  4271. RISCSee reduced instruction set computer.
  4272. ROM registryA list of the import libraries that are stored in the ROM of a Macintosh computer. See also file and directory registry.
  4273. routine descriptorA data structure used by the Mixed Mode Manager to execute a routine. A routine descriptor contains one or more routine records. Defined by the RoutineDescriptor data type.
  4274. routine recordA data structure that contains information about a particular routine. A routine record specifies, among other things, a routine’s instruction set architecture, the number and 
  4275. size of its parameters, its calling conventions, 
  4276. and its location in memory. Defined by the RoutineRecord data type.
  4277. RTOCSee Table of Contents Register.
  4278. run-time environmentThe execution environment provided by the Process Manager and other system software services. The run-time environment dictates how executable code is loaded into memory, where data is stored, and how functions call other functions and system software routines.
  4279. run-time librarySee implementation version.
  4280. SANESee Standard Apple Numerics Environment.
  4281. saved registers areaThe area in a PowerPC stack frame that holds the saved values of the nonvolatile general-purpose and floating-
  4282. point registers.
  4283. sectionA region of memory occupied by part of a loaded fragment. When a fragment is loaded, it is divided into a code section and one or more copies of the data section. See also code section and data section.
  4284. segment One of several logical divisions of the code of a 680x0 application. Not all segments need to be in memory at the same time.
  4285. segment location recordA data structure that provides information about the location of a fragment in the resource fork of a file on disk. Defined by the SegmentedFragment data type.
  4286. Segment Manager The part of the Macintosh Operating System that loads and unloads the code segments of a 680x0 application into and out of memory.
  4287. selector-based trapA system software routine that is called by passing a selector code to a single trap macro.
  4288. shared libraryA fragment that exports functions and global variables to other fragments. A shared library is used to resolve imports during linking and also during the loading and preparation of some other fragment. A shared library can be stored in a file of type 'shlb'. See also import library.
  4289. smearingSee byte smearing.
  4290. soft importAn imported symbol whose corre-
  4291. sponding code or data might not be available in any import library on the host machine and which is therefore undefined at run time. Compare hard import and import.
  4292. SPSee stack pointer.
  4293. split trapA system software routine that is implemented as 680x0 code in ROM and as PowerPC code in an import library. Because the PowerPC code is contained directly in the import library, you cannot patch the PowerPC portion of a split trap. Compare fat trap.
  4294. stackAn area of memory in the application partition that is used for temporary storage of data during the operation of an application or other software.
  4295. stack-based routineA routine that receives its parameters and returns its results, if any, on the stack. See also register-based routine.
  4296. stack frameThe area of the stack used by a routine for its parameters, return address, local variables, and temporary storage.
  4297. stack pointer (SP)A pointer to the top of the stack. See also frame pointer.
  4298. stale instructionAn instruction in the micro-
  4299. processor’s instruction cache whose corre-
  4300. sponding values in RAM have changed. You might need to flush the instruction cache to avoid using stale instructions.
  4301. Standard Apple Numerics Environment (SANE) The floating-point environment on 680x0-based Macintosh computers and on Apple II computers. This environment provides floating-point data types and arithmetic operations, plus some advanced numerical functions (such as logarith-
  4302. mic and trigonometric functions). See also PowerPC Numerics.
  4303. static dataThe variables and other data that persist between calls to a particular function 
  4304. or fragment.
  4305. stub definition functionCode that dispatches to a definition function contained elsewhere. See also definition function.
  4306. stub definition resourceAn executable resource that contains a stub definition function. See also definition resource.
  4307. subroutine linkageThe mechanism by which one routine calls another, possibly passing arguments and receiving a function result.
  4308. switchSee mode switch.
  4309. switch frameA stack frame, created by the Mixed Mode Manager during a mode switch, that contains information about the routine to be executed, the state of various registers, and the address of the previous frame.
  4310. symbolA name for a discrete element of code or data in a fragment.
  4311. system extensionA file of type 'INIT' that contains executable code. System extensions are loaded into memory at system startup time.
  4312. system global variablesA collection of global variables stored in the system partition.
  4313. system heapAn area of memory in the 
  4314. system partition reserved for use by the Operating System.
  4315. system partitionA partition of memory reserved for use by the Operating System.
  4316. table of contents (TOC)An area of static data in a fragment that contains a pointer to each routine or data item that is imported from some other fragment, as well as pointers to the fragment’s own static data.
  4317. Table of Contents Register (RTOC)A processor register that points to the table of contents of the fragment containing the code currently being executed. On the PowerPC processor, the general-purpose register 2 is dedicated to serve as the RTOC.
  4318. tail patchA patch that invokes the next patch in the patch daisy chain as a subroutine, guaranteeing that the tail patch regains control after the execution of all subsequent patches. Compare head patch.
  4319. temporary memoryMemory allocated outside an application partition that may be available for occasional short-term use.
  4320. termination routineA function contained in a fragment that is executed just before the fragment is unloaded. See also initialization routine.
  4321. TOCSee table of contents.
  4322. toolSee application extension.
  4323. transition vectorAn area of static data in a fragment that describes the entry point and TOC address of a routine. See also procedure pointer.
  4324. trapAny of a large set of Macintosh system software routines accessed via A-line instructions. See also split trap.
  4325. trap dispatcherThe exception handler that deals with the occurrence of A-line instructions, providing the subroutine linkage between the A-line instruction and Macintosh system code.
  4326. trap dispatch tableA table of entry points to Macintosh system routines that are invoked with A-line instructions.
  4327. Trap ManagerThe part of the Macintosh Operating System that provides the subroutine linkage to most Macintosh system soft-
  4328. ware routines.
  4329. trap patch See patch.
  4330. universal interface filesA set of interface files that you can use with both 680x0 compilers and PowerPC compilers.
  4331. universal procedure pointerA 680x0 procedure pointer or the address of a 
  4332. routine descriptor.
  4333. VBLSee vertical retrace interrupt.
  4334. VBL taskA task executed during a vertical retrace interrupt.
  4335. vectorSee transition vector.
  4336. vertical blanking interrupt (VBL)See vertical retrace interrupt.
  4337. vertical retrace interruptAn interrupt generated by the video circuitry each time the electron beam of a monitor’s display tube returns from the lower-right corner of the screen to the upper-left corner.
  4338. virtual memoryAddressable memory beyond the limits of the available physical RAM. The Operating System extends the logical address space by allowing unused code and data to be stored on a secondary storage device instead of in physical RAM.
  4339. Virtual Memory ManagerThe part of the Operating System that provides virtual memory.
  4340. volatile registerA register whose contents need not be preserved across subroutine calls. See also nonvolatile register.
  4341. weak importSee soft import.
  4342. XCOFFSee Extended Common Object File Format.
  4343. Index
  4344.  
  4345.  
  4346. Numerals
  4347.  
  4348. 32-bit clean1-4
  4349. 680x0 applications1-6 to 1-12
  4350. porting to PowerPC1-15 to 1-19, 1-31 to 1-34, 1-57 to 1-65, 1-68 to 1-72, 2-21 to 2-26, 3-12 to 3-13, 4-6 to 4-9
  4351. structure of1-32
  4352. 680x0 compatibility issues. See 68LC040 Emulator
  4353. 680x0 context blocks1-8, 1-59
  4354. 680x0 registers. See also A0 register; A5 register; 
  4355. A6 register; A7 register
  4356. unsupported results1-10
  4357. 680x0 run-time environment1-57 to 1-59
  4358. data alignment1-63 to 1-65
  4359. 68851 Paged Memory Management Unit1-9
  4360. 68881 floating-point unit1-9
  4361. 68882 floating-point unit1-9
  4362. 68LC040 Emulator1-3, 1-6 to 1-12. See also Mixed 
  4363. Mode Manager
  4364. address error exceptions1-10
  4365. bus error exceptions1-11
  4366. byte smearing1-12
  4367. dynamic bus sizing1-12
  4368. floating-point instructions1-9
  4369. instruction cache1-10
  4370. instruction timings1-9
  4371. NOP instruction1-12
  4372. PMMU1-9
  4373. reserved fields1-10
  4374. unavailable instructions1-9
  4375. undefined results1-10
  4376. virtual memory1-9
  4377. A
  4378.  
  4379. A0 register, and the Vertical Retrace Manager1-62
  4380. A5 register, setting and restoring1-60 to 1-63
  4381. A5 world1-57 to 1-63
  4382. and table of contents1-28
  4383. A6 register1-42
  4384. A7 register1-42
  4385. accelerated resources1-23, 1-34 to 1-40
  4386. calling at interrupt time2-26
  4387. data section in1-38
  4388. limitations on1-38 to 1-40
  4389. and main symbols1-38
  4390. and termination routines1-38
  4391. using global data in1-39 to 1-40
  4392. action procedures. See control action procedures
  4393. address error exceptions, emulator compatibility issues1-10
  4394. alert boxes, displayed by PowerPC applications1-34
  4395. alias resources3-31
  4396. alignment. See data alignment
  4397. A-line instructions1-8
  4398. 'alis' resource type3-31
  4399. ANSI-compliant source codeix, 1-65
  4400. APDAxv
  4401. AppleShare servers1-55
  4402. 'APPL' file type1-21
  4403. application extensions. See also fragments
  4404. defined1-21
  4405. application global variables1-58
  4406. application parameters1-58
  4407. application partitions, automatic resizing of1-55
  4408. applications1-21. See also fragments
  4409. file type1-21
  4410. length of fragment3-31
  4411. location of fragment3-31
  4412. specifying instruction set architecture3-30
  4413. specifying library directory3-31
  4414. specifying stack size1-60, 3-31
  4415. ApplLimit global variable1-60
  4416. A-traps. See A-line instructions
  4417. B
  4418.  
  4419. backing-store file1-53
  4420. backing volume. See paging devices
  4421. BCLR instruction1-12
  4422. binding1-25, 1-28
  4423. bit numbering conventionsxiii
  4424. block headers1-69
  4425. BlockMove procedure1-70
  4426. BSET instruction1-12
  4427. BuildFatRoutineDescriptor macro2-24
  4428. BuildRoutineDescriptor macro2-23 to 2-24
  4429. bus error exceptions, emulator compatibility issues1-11
  4430. bus sizing. See dynamic bus sizing
  4431. byte smearing, emulator compatibility issues1-12
  4432. C
  4433.  
  4434. CAAR. See Cache Address Register
  4435. cache, emulator compatibility issues1-10
  4436. Cache Address Register (CAAR), emulator compatibility issues1-10
  4437. Cache Control Register (CACR), emulator compatibility issues1-10
  4438. CACR. See Cache Control Register
  4439. calling conventions1-41 to 1-47. See also procedure information
  4440. C routines1-43, 2-30
  4441. Operating System routines1-43
  4442. Pascal routines1-43, 2-30
  4443. PowerPC1-43 to 1-47
  4444. register-based routines2-30
  4445. selector-based C routines2-30
  4446. selector-based Pascal routines2-30
  4447. 680x01-42 to 1-43
  4448. special cases. See special case routines
  4449. specifying2-30 to 2-32
  4450. THINK C routines2-30
  4451. CALLM instruction1-9
  4452. CallOSTrapUniversalProc function1-67, 2-42 to 2-43
  4453. CallUniversalProc function1-37, 1-67, 2-42
  4454. CCR. See Condition Code Register
  4455. 'CDEF' resources1-36
  4456. 'cfrg' resource type1-31 to 1-34, 3-12 to 3-13, 3-28 to 3-31
  4457. CloseConnection function1-41, 3-23 to 3-24
  4458. closing resource forks1-70
  4459. code, self-modifying1-53
  4460. code fragment information records3-29 to 3-31
  4461. Code Fragment Loader1-22
  4462. Code Fragment Manager1-22, 3-3 to 3-35
  4463. data structures3-15 to 3-18
  4464. reading code fragment resources3-13
  4465. resources3-28 to 3-31
  4466. routines3-18 to 3-26
  4467. code fragment resources1-31 to 1-34, 3-12 to 3-13, 3-28 to 3-31
  4468. code fragments. See fragments
  4469. code patches. See patches
  4470. code resources. See executable resources
  4471. code sections1-23
  4472. code types. See instruction set architectures
  4473. compact discs1-55
  4474. compatibility issues. See 68LC040 Emulator
  4475. compile-time libraries. See definition versions
  4476. completion routines1-18
  4477. Condition Code Register (CCR)
  4478. during mode switches2-14
  4479. specifying in procedure information2-20
  4480. Condition Register (CR)1-45, 1-46
  4481. connection IDs3-5
  4482. connections3-5
  4483. containers
  4484. defined1-21, 3-4
  4485. specifying location of3-31
  4486. context blocks. See 680x0 context blocks
  4487. contexts1-51
  4488. control action procedures1-16 to 1-18
  4489. control definition functions1-16, 1-36
  4490. control panel, Memory1-68
  4491. cooperative multitasking environment1-4
  4492. coprocessors1-9
  4493. counting symbols3-14, 3-25 to 3-26
  4494. CountSymbols function3-14, 3-25 to 3-26
  4495. CR. See Condition Register
  4496. cross-mode call. See explicit cross-mode calls; implicit cross-mode calls
  4497. D
  4498.  
  4499. data, exchanging between PowerPC and 680x0 environments1-64 to 1-65
  4500. data, global. See global data
  4501. data alignment1-63 to 1-65
  4502. data forks1-21, 1-30, 1-31 to 1-34
  4503. data instantiation
  4504. global1-51
  4505. per-context1-51
  4506. per-load1-52
  4507. data sections
  4508. and accelerated resources1-38
  4509. defined1-23
  4510. Debugger routine, calling within an exception handler4-9
  4511. DebugStr routine, calling within an exception handler4-9
  4512. default stack size1-60, 3-31
  4513. definition procedures. See control definition functions; list definition procedures; menu definition procedures; window definition functions
  4514. definition versions3-8, 3-30
  4515. detaching resources1-70
  4516. DetachResource procedure1-70
  4517. device drivers, and the 68LC040 Emulator1-11 to 1-12
  4518. DiskFragment data type3-17
  4519. disk location records3-17 to 3-18
  4520. DISPATCHED_STACK_ROUTINE_PARAMETER macro2-50
  4521. DISPATCHED_STACK_ROUTINE_SELECTOR_SIZE macro2-50
  4522. DisposeHandle procedure1-69
  4523. DisposePtr procedure1-70
  4524. DisposeRoutineDescriptor function1-19, 2-21, 2-41
  4525. disposing of memory blocks1-69
  4526. disposing of pictures1-69
  4527. draw hook routines, specifying calling conventions of2-32
  4528. drop-ins. See application extensions
  4529. dynamically linked libraries. See import libraries
  4530. dynamic bus sizing, emulator compatibility issues1-12
  4531. E
  4532.  
  4533. emulator. See 68LC040 Emulator
  4534. epilog code1-46
  4535. event filter functions1-18
  4536. exception codes. See exceptions, types of
  4537. exception contexts4-4
  4538. exception frames, created by 68LC040 Emulator1-11
  4539. exception handlers
  4540. defined4-3
  4541. installing1-57, 4-6 to 4-7
  4542. limitations on4-9
  4543. and the Red Zone1-47
  4544. removing4-7
  4545. writing4-7 to 4-9
  4546. ExceptionInformation data type4-7, 4-16
  4547. exception information records4-7, 4-16
  4548. Exception Manager1-47, 4-3 to 4-22
  4549. application-defined routines in4-17 to 4-18
  4550. constants in4-9 to 4-11
  4551. data structures in4-12 to 4-16
  4552. routines in4-17
  4553. exceptions
  4554. defined4-3
  4555. 680x0 bus error1-11
  4556. types of4-5 to 4-6, 4-9 to 4-11
  4557. exchanging data between PowerPC and 680x0 environments1-64 to 1-65
  4558. executable resources1-34 to 1-41. See also accelerated resources; private resources
  4559. ExitToShell procedure2-41
  4560. explicit cross-mode calls2-8
  4561. exported symbols. See exports
  4562. exports1-23, 3-4
  4563. getting information about3-14
  4564. Extended Common Object File Format (XCOFF)1-22, 1-30
  4565. Extensions folder3-6, 3-7
  4566. extensions. See application extensions;  system extensions
  4567. external code2-4 to 2-5
  4568. F
  4569.  
  4570. fake definition resources. See stub definition resources
  4571. fake handles1-70
  4572. fake pointers1-70
  4573. fat applications1-33 to 1-34
  4574. fat patches1-66 to 1-68, 1-71
  4575. fat resources1-38, 1-71, 2-25
  4576. fat routine descriptors2-24, 2-25
  4577. file and directory registry3-6 to 3-7
  4578. file forks. See data forks; resource forks
  4579. file mapping1-53 to 1-55
  4580. file types
  4581. 'APPL'1-21
  4582. 'shlb'1-21, 3-6, 3-10
  4583. finding symbols1-38, 3-14, 3-24 to 3-26
  4584. FindSymbol function1-38, 1-41, 3-24 to 3-25
  4585. F-line instructions1-8
  4586. floating-point data types1-65
  4587. floating-point exceptions, handling4-3
  4588. floating-point information records4-14
  4589. floating-point instructions, emulator compatibility issues1-9
  4590. floating-point parameters1-72
  4591. floating-point registers1-43, 1-47 to 1-50, 1-72, 4-4, 4-15
  4592. Floating-Point Status and Control Register (FPSCR)4-14 to 4-15
  4593. floppy disks1-55
  4594. flushing caches1-10, 1-70
  4595. forks. See data forks; resource forks
  4596. FP. See frame pointer
  4597. FPSCR. See Floating-Point Status and Control Register
  4598. FPUInformation data type4-14
  4599. fragment initialization blocks3-15 to 3-16
  4600. fragment location records3-16 to 3-17
  4601. FragmentLocator data type3-16
  4602. fragments1-20 to 1-41, 3-4 to 3-5
  4603. defined1-5, 1-21, 3-4
  4604. finding symbols in3-24 to 3-26
  4605. kinds of1-21
  4606. loading3-10 to 3-12, 3-19 to 3-22
  4607. special routines in1-29 to 1-30, 3-26 to 3-28
  4608. specifying names of3-31
  4609. specifying size of3-31
  4610. storing1-30 to 1-34
  4611. structure of1-22 to 1-23
  4612. unloading3-23 to 3-24
  4613. frame pointer1-42
  4614. frames. See stack frames; switch frames
  4615. free blocks1-70
  4616. function prototypes1-72, 2-30
  4617. G
  4618.  
  4619. general-purpose registers1-8, 1-26, 1-41, 1-43, 1-45, 1-47 to 1-50, 1-72, 4-4, 4-8, 4-12 to 4-14
  4620. Gestalt function1-25, 1-57
  4621. Get1Resource function3-21
  4622. GetApplLimit function1-60, 1-70, 3-31
  4623. GetCurrentISA function2-44
  4624. GetDiskFragment function3-11, 3-19 to 3-21
  4625. GetIndSymbol function3-14, 3-26
  4626. GetMemFragment function3-11, 3-21 to 3-22
  4627. GetNextEvent filter procedures, specifying calling conventions of2-32
  4628. GetPicture function1-69
  4629. GetSharedLibrary function3-10, 3-22 to 3-23
  4630. global data, in accelerated resources1-39 to 1-40
  4631. global instantiation1-51
  4632. global variables. See application global variables; QuickDraw global variables; system global variables
  4633. grow-zone functions1-18
  4634. specifying procedure information for2-17 to 2-18
  4635. H
  4636.  
  4637. handles, fake1-70
  4638. header files. See universal interface files
  4639. head patches1-68
  4640. hit test hook routines, specifying calling conventions of2-32
  4641. hybrid environment. See mixed environment
  4642. HyperCard extensions1-36
  4643. I
  4644.  
  4645. implementation versions3-8, 3-30
  4646. implicit cross-mode calls2-8
  4647. imported symbols. See imports
  4648. import libraries1-50 to 1-52. See also fragments
  4649. advantages of1-51
  4650. checking versions3-7 to 3-10
  4651. data instantiation1-51 to 1-52
  4652. defined1-21
  4653. definition version3-8
  4654. file and directory registry3-6 to 3-7
  4655. file type1-21, 3-6, 3-10
  4656. implementation version3-8
  4657. length of fragment3-31
  4658. load directories3-7
  4659. location of fragment3-31
  4660. ROM registry3-6
  4661. search order3-5 to 3-7
  4662. specifying definition version3-30
  4663. specifying implementation version3-30
  4664. specifying instruction set architecture3-30
  4665. specifying update levels3-30
  4666. imports1-21, 3-4. See also soft imports
  4667. InitBlock data type3-15
  4668. InitGraf procedure1-59
  4669. initialization blocks. See fragment initialization blocks
  4670. initialization routines3-15 to 3-18, 3-27
  4671. defined1-30
  4672. in-place data instantiation1-38
  4673. input/output, accessing memory-mapped locations1-11 to 1-12
  4674. Inside Macintosh
  4675. bit numbering conventionsxii to xiii
  4676. chapter formatxi
  4677. format conventionsxii
  4678. format of parameter blocksxiv
  4679. InstallExceptionHandler function4-17
  4680. instantiation. See global instantiation; per-context instantiation; per-load instantiation
  4681. instruction cache1-10, 1-70
  4682. instruction set architectures
  4683. constants for2-35 to 2-36
  4684. defined1-13
  4685. determining2-44
  4686. specifying for an application3-30
  4687. specifying for an import library3-30
  4688. instruction timings1-9
  4689. interface files. See universal interface files
  4690. interrupts. See exceptions
  4691. interrupt time
  4692. calling accelerated resources2-26
  4693. calling Memory Manager1-70
  4694. I/O. See input/output
  4695. J
  4696.  
  4697. jump tables1-58
  4698. K
  4699.  
  4700. KillPicture procedure1-69
  4701. L
  4702.  
  4703. 'LDEF' resources1-36
  4704. leaf procedures1-46
  4705. libraries. See import libraries
  4706. library directories3-6, 3-31
  4707. line-start recalculation routines, specifying calling conventions of2-32
  4708. linkage area1-44
  4709. Link Register2-11
  4710. list definition procedures1-35 to 1-36
  4711. LMGetCurDirStore function1-57
  4712. load directories3-7
  4713. loading code fragments3-10 to 3-12, 3-19 to 3-23
  4714. location records. See fragment location records
  4715. low-memory global variables. See system global variables
  4716. LR. See Link Register
  4717. M
  4718.  
  4719. MachineInformation data type4-7, 4-12
  4720. machine information records4-7, 4-12
  4721. Macintosh Programmer’s Workshopxiv, 1-32, 1-38, 1-57, 1-65, 2-26, 2-30
  4722. main routines3-27
  4723. and accelerated resources1-38
  4724. defined1-30
  4725. main symbols3-19, 3-21, 3-22
  4726. and accelerated resources1-38
  4727. defined1-30
  4728. MakePEF tool1-26, 1-38
  4729. 'MDEF' resources1-36
  4730. MemFragment data type3-17
  4731. memory, organization of1-52 to 1-65
  4732. memory blocks, disposing of1-69
  4733. Memory control panel1-68
  4734. MemoryExceptionInformation data type4-15
  4735. memory exception records4-15
  4736. memory location records3-17
  4737. Memory Manager1-5, 1-68 to 1-70
  4738. disposing of blocks1-69
  4739. at interrupt time1-70
  4740. private data structures1-69
  4741. memory operations, types of4-11
  4742. memory reference codes4-11
  4743. menu bar hook routines, specifying calling conventions of2-32
  4744. menu definition procedures1-36
  4745. mini-A5 world1-60
  4746. mixed environment1-3, 1-4
  4747. Mixed Mode Manager1-4, 1-13 to 1-19, 2-3 to 2-50. See also mixed environment; mode switches; routine descriptors; 68LC040 Emulator
  4748. constants in2-27 to 2-36
  4749. data structures in2-36 to 2-38
  4750. defined1-13, 2-3
  4751. introduced2-4
  4752. limitations of2-21
  4753. routines in2-38 to 2-44
  4754. mode switches2-7 to 2-14
  4755. defined1-13
  4756. overhead1-66
  4757. in patches1-66
  4758. MOVE instruction1-12
  4759. MPW. See Macintosh Programmer’s Workshop
  4760. N
  4761.  
  4762. nanokernel1-4
  4763. NewControlActionProc function1-18
  4764. NewFatRoutineDescriptor function2-21, 2-40 to 2-41
  4765. NewPtr function1-67
  4766. NewRoutineDescriptor function2-15, 2-21, 2-39 to 2-40
  4767. NOP instruction, emulator compatibility issues1-12
  4768. NSetTrapAddress procedure1-67
  4769. null events1-71 to 1-72
  4770. O
  4771.  
  4772. opcodes. See operation codes
  4773. operation codes1-8
  4774. P
  4775.  
  4776. Paged Memory Management Unit, emulator compatibility issues1-9
  4777. paging devices1-55
  4778. parameter area1-44
  4779. parameter blocks, format ofxiv
  4780. parameter lists, variable1-72
  4781. parameter passing1-47 to 1-50
  4782. patches1-18, 1-66 to 1-68
  4783. fat1-66 to 1-68
  4784. head1-68
  4785. tail1-68
  4786. patching, selector-based traps1-68
  4787. PC. See program counter
  4788. PEF. See Preferred Executable Format
  4789. per-context instantiation1-51
  4790. performance1-70 to 1-73
  4791. avoiding mode switches1-71 to 1-72
  4792. passing parameters1-72 to 1-73
  4793. using fat resources1-71
  4794. per-load instantiation1-52
  4795. pictures, disposing of1-69
  4796. PMMU. See Paged Memory Management Unit
  4797. pointer-based function calls1-29
  4798. pointers, fake1-70
  4799. porting 680x0 applications to PowerPC. See 680x0 applications, porting to PowerPC
  4800. PowerPC. See PowerPC microprocessor
  4801. PowerPC applications, structure of1-31 to 1-32
  4802. PowerPC microprocessorix, 1-4
  4803. floating-point registers1-43, 1-47 to 1-50, 1-72, 4-4, 4-15
  4804. general-purpose registers1-8, 1-26, 1-41, 1-43, 1-45, 1-47 to 1-50, 1-72, 4-4, 4-8, 4-12 to 4-14
  4805. special-purpose registers1-41, 1-44 to 1-46, 4-4, 4-8, 4-12
  4806. PowerPC run-time environment1-19 to 1-65
  4807. application partitions1-57 to 1-63
  4808. data alignment1-63 to 1-65
  4809. organization of memory in1-52 to 1-65
  4810. system partition1-56 to 1-57
  4811. pragma statements1-64
  4812. Preferred Executable Format (PEF)1-22, 1-30
  4813. prepare1-22
  4814. private resources1-36, 1-40 to 1-41
  4815. procedure information
  4816. constants for2-27 to 2-33
  4817. defined1-16, 2-15
  4818. number of specifiable parameters2-17, 2-20
  4819. specifying2-14 to 2-21
  4820. procedure pointers2-5 to 2-7
  4821. Process Manager, reading code fragment resources3-12
  4822. ProcInfoType. See procedure information
  4823. ProcPtr. See procedure pointers
  4824. program counter1-8, 1-11, 4-8, 4-12
  4825. prolog code1-45
  4826. protocol handlers, specifying calling conventions of2-32
  4827. prototypes. See function prototypes
  4828. Q
  4829.  
  4830. QDGlobals data type1-59
  4831. QuickDraw global variables1-58 to 1-60
  4832. R
  4833.  
  4834. Red Zone1-46 to 1-47
  4835. reentrancy, in exception handlers4-9
  4836. REGISTER_RESULT_LOCATION macro2-18, 2-50
  4837. REGISTER_ROUTINE_PARAMETER macro2-18, 2-50
  4838. RegisterInformation data type4-8, 4-12 to 4-14
  4839. register information records4-12 to 4-14
  4840. registers. See PowerPC microprocessor; 680x0 registers
  4841. ReleaseResource procedure1-69
  4842. resource-based code. See also fat resources
  4843. executing2-24 to 2-26
  4844. resource forks1-31 to 1-34
  4845. closing1-70
  4846. resources
  4847. accelerated. See accelerated resources
  4848. detaching1-70
  4849. fat1-71
  4850. private. See private resources
  4851. stub. See stub definition resources
  4852. resource types
  4853. 'alis'3-31
  4854. 'CDEF'1-36
  4855. 'cfrg'1-31 to 1-34, 3-12 to 3-13, 3-28 to 3-31
  4856. 'LDEF'1-36
  4857. 'MDEF'1-36
  4858. 'WDEF'1-36
  4859. 'XCMD'1-36
  4860. RESULT_SIZE macro1-16, 2-16, 2-50
  4861. Rez1-32, 1-38, 2-26, 3-12, 3-13, 3-28, 3-30, 3-31
  4862. ROM registry3-6
  4863. RoutineDescriptor data type2-37 to 2-38
  4864. routine descriptor flags2-27
  4865. routine descriptors1-15 to 1-19, 2-6 to 2-7, 2-37 to 2-38. See also universal procedure pointers
  4866. creating2-39 to 2-41
  4867. defined1-15, 2-6
  4868. disposing of1-19, 2-41
  4869. executing code with2-42 to 2-43
  4870. fat2-24, 2-25
  4871. global2-21
  4872. local2-21 to 2-22
  4873. static2-22 to 2-24
  4874. RoutineRecord data type2-36
  4875. routine records1-15 to 1-16, 2-36 to 2-37
  4876. RTE instruction1-11
  4877. RTM instruction1-9
  4878. RTOC. See Table of Contents Register
  4879. run-time environment, defined1-20. See also PowerPC run-time environment; 680x0 run-time environment
  4880. run-time libraries. See implementation versions
  4881. S
  4882.  
  4883. SANE. See Standard Apple Numerics Environment
  4884. saved registers area1-45
  4885. sections1-22. See also code sections; data sections
  4886. SegmentedFragment data type3-18
  4887. segment location records3-18
  4888. Segment Manager1-32
  4889. selector-based traps1-68
  4890. self-modifying code1-53
  4891. SetA5 function1-62 to 1-63
  4892. SetApplLimit procedure1-60, 1-69, 1-70, 3-31
  4893. SetCurrentA5 function1-63
  4894. SetGrowZone procedure1-69
  4895. SetOSTrapAddress procedure1-67
  4896. SetToolTrapAddress procedure1-67
  4897. SetTrapAddress procedure1-67
  4898. shared libraries. See import libraries
  4899. 'shlb' file type1-21, 3-6, 3-10
  4900. 68881 floating-point unit1-9
  4901. 68882 floating-point unit1-9
  4902. 68851 Paged Memory Management Unit1-9
  4903. 680x0 registers. See also A0 register; A5 register; 
  4904. A6 register; A7 register
  4905. unsupported results1-10
  4906. SIZE_CODE macro1-16, 2-50
  4907. smearing. See byte smearing
  4908. socket listeners, specifying calling conventions of2-32
  4909. soft imports1-25 to 1-26
  4910. SP. See stack pointer
  4911. SPECIAL_CASE_PROCINFO macro2-50
  4912. special case routines2-30 to 2-32
  4913. special-purpose registers1-41, 1-44 to 1-46, 4-4, 4-8, 4-12
  4914. Special Status Word (SSW)1-11
  4915. split traps1-68
  4916. SSW. See Special Status Word
  4917. stack, specifying minimum size of1-60, 3-31
  4918. stack frames1-41, 1-42 to 1-47. See also switch frames
  4919. parameter area1-44
  4920. stack pointer1-8, 1-42, 2-10
  4921. STACK_ROUTINE_PARAMETER macro1-16, 2-50
  4922. stale instructions1-10
  4923. Standard Apple Numerics Environment (SANE)1-9
  4924. stub definition resources1-35
  4925. switches. See mode switches
  4926. switch frames
  4927. PowerPC-to-680x02-13 to 2-14
  4928. 680x0-to-PowerPC2-10 to 2-12
  4929. symbols3-4
  4930. counting3-14, 3-25 to 3-26
  4931. finding1-38, 3-14, 3-24 to 3-26
  4932. System 7.11-4
  4933. system extensions, defined1-21
  4934. system global variables1-56 to 1-57, 1-69
  4935. system partition1-56 to 1-57
  4936. system software
  4937. patching1-66 to 1-68
  4938. for PowerPC processor-based Macintosh computers1-4 to 1-6
  4939. T
  4940.  
  4941. table of contents1-26 to 1-29
  4942. defined1-26
  4943. maximum size of1-29
  4944. Table of Contents Register (RTOC)1-26, 1-27, 1-29, 1-45, 1-46, 2-11
  4945. tail patches1-68
  4946. temporary memory1-55
  4947. termination routines3-28
  4948. and accelerated resources1-38
  4949. defined1-30
  4950. text display routines, specifying calling conventions of2-32
  4951. text width hook routines, specifying calling conventions of2-31
  4952. THINK C calling conventions2-30
  4953. 32-bit clean1-4
  4954. Time Manager tasks1-18, 1-60
  4955. TOC. See table of contents
  4956. tools. See application extensions
  4957. TrackControl procedure1-17, 2-21
  4958. transition vectors1-26 to 1-27
  4959. defined1-26, 2-5
  4960. and exception handlers4-17
  4961. trap patches. See patches
  4962. traps
  4963. selector-based1-68
  4964. split1-68
  4965. U
  4966.  
  4967. universal interface files1-18 to 1-19, 1-57, 1-65, 2-6 to 2-7, 2-15, 2-17
  4968. universal procedure pointers1-17 to 1-19, 2-6 to 2-7, 2-37. See also routine descriptors
  4969. and accelerated resources1-37, 2-24 to 2-26
  4970. defined2-6
  4971. executing code with2-42 to 2-43
  4972. and fat patches1-66
  4973. and universal interface files2-15
  4974. used in stub definition functions1-36
  4975. using2-21 to 2-22
  4976. unloading code fragments3-23 to 3-24
  4977. UnloadSeg procedure1-6
  4978. update levels, specifying for an import library3-30
  4979. USESROUTINEDESCRIPTORS compiler variable2-14, 2-39
  4980. V
  4981.  
  4982. variable parameter lists1-72
  4983. VBL tasks1-18, 1-60 to 1-63
  4984. vectors. See transition vectors
  4985. versions
  4986. of import libraries3-7 to 3-10
  4987. of routine descriptor2-38
  4988. Vertical Retrace Manager1-61 to 1-63
  4989. virtual memory1-53 to 1-55
  4990. emulator support for1-9
  4991. Virtual Memory Manager1-4, 1-53
  4992. W
  4993.  
  4994. WaitNextEvent function1-71
  4995. 'WDEF' resources1-36
  4996. weak imports. See soft imports
  4997. width hook routines, specifying calling conventions of2-31
  4998. window definition functions1-36
  4999. word sizesxiii, 1-63
  5000. X
  5001.  
  5002. 'XCMD' resources1-36
  5003. XCOFF. See Extended Common Object File Format
  5004. Z
  5005.  
  5006. zone headers1-69
  5007. This Apple manual was written, edited, and composed on a desktop publishing system using Apple Macintosh computers and FrameMaker software. Proof pages were created on an Apple LaserWriter IINTX printer. Final page negatives were output directly from text files on an Optrotech SPrint 220 imagesetter. Line art was created using Adobe™ Illustrator. PostScript™, the page-description language for the LaserWriter, was developed by Adobe Systems Incorporated.
  5008. Text type is Palatino® and display type is Helvetica®. Bullets are ITC Zapf Dingbats®. Some elements, such as program listings, are set in Apple Courier.
  5009. WRITER
  5010. Tim Monroe
  5011. DEVELOPMENTAL EDITOR
  5012. Jeanne Woodward
  5013. ILLUSTRATOR
  5014. Shawn Morningstar
  5015. ART DIRECTOR
  5016. Betty Gee
  5017. PROJECT LEADER
  5018. Patricia Eastman
  5019. COVER DESIGNER
  5020. Barbara Smyth
  5021. Special thanks to Richard Clark, Erik Eidt, Dave Falkenburg, Bruce Jones, Alan Lillich, Mikey McDougall, Dave Radcliffe, Brian Topping, and Eric Traut.
  5022. Acknowledgments to Eric Anderson, Scott Boyd, Joanna Bujes, Jeff Crawford, Gary Davidian, Peri Frantz, Miki Lee, Wayne Meretsky, Brian Strull, 
  5023. Beverly Zegarski, and the entire Inside Macintosh team.
  5024. \@ˇ ˇˇˇˇ@
  5025. ˇ·ˇ‚7^
  5026. 4í∫◊, Palatino
  5027. .°dONLNdˇˇ(ô∫    Addison-WÑ@°dONLNdˇˇ)4esley Publishing Company
  5028.     °dONLNdˇˇ(´∫Reading, MassachusettsÀ†°dONLNdˇˇ)hMenlo Park, California쇰dONLNdˇˇ)dNew ˆ∞°dONLNdˇˇ)Y#°dONLNdˇˇ)ork°dONLNdˇˇ(∑∫Don Mills, Ontarioc °dONLNdˇˇ)TW膰dONLNdˇˇ)okingham, England@°dONLNdˇˇ)XAmsterܰdONLNdˇˇ)damwp°dONLNdˇˇ)Bonn°dONLNdˇˇ(√∫SydneyH °dONLNdˇˇ)'Singapor°dONLNdˇˇ)$ee∞°dONLNdˇˇ)
  5029. T°dONLNdˇˇ)okyoÏP°dONLNdˇˇ)Madrid–°dONLNdˇˇ)(San Juan°dONLNdˇˇ(œ∫Parisl¿°dONLNdˇˇ)Seoulk`°dONLNdˇˇ)MilanËİdONLNdˇˇ)  Mexico City °dONLNdˇˇ):T»Ä°dONLNdˇˇ)aipei
  5030. (0∫4Ÿ∫˘
  5031. {∂èÕ4zµ{∂ê{∂èÕ08x|˛˛ˇˇ?ˇ¯?ÔÔ«‡á‡É¿¿Äê{∂èÕ08||«‡É¿¿ÄÄ
  5032. ˇ·ˇ‚7^
  5033. 3 ðdONLNdí∫´‘*t
  5034. INSIDE MACINT∫ °dONLNd
  5035. í‘´(§‘OSH
  5036. ˙H 4˚H  H
  5037. ˇ·ˇ‚7^
  5038. ˇˇ≥>ˇ◊°dONLNd
  5039. H.ï(&HPowerPC System Softwar
  5040. 4°dONLNd(
  5041. ï.£(&ïeˇ.@ˇ ˇˇˇˇ@
  5042. ˇ·ˇ‚7^
  5043. 4⁄ú˙¯ X*XÙ4^*.∫, Palatino
  5044. .°dONLNdZ*f1+*c
  5045. °dONLNd\6er) Apple Computer>İdONLNd\reÇ)<, Inc.°dONLNdg*pC(n*© 1994 .İdONLNdgDpÄ)Apple Computer̰dONLNd,gpè);, Inc.°dONLNd3p*yP(w* All rights r˝Ä°dONLNd?pPyo)&    eserved. °dONLNdI{*Ñ•(Ç*#No part of this publication may be °dONLNdlÑ*ç-*    rÑİdONLNdmÑ-ç8)epr-°dONLNdpÑ9çd) oduced, storËİdONLNd|ÑdçÄ)+    ed in a r°°dONLNdÖÑÅçù)    etrieval °dONLNdéç*ñ≤(î*'system, or transmitted, in any form or °dONLNdµñ*üû*     by any means, mechanical, electréİdONLNd’ñûü∞)tonic, °dONLNd€ü*®b(¶*photocopying, rÔİdONLNdÍüb®p)8ecor¥°dONLNdÓüq®µ)ding, or otherwise, °dONLNd®*±™(Ø*$without prior written permission of °dONLNd&±*∫f*    Apple Computer>İdONLNd4±f∫´)<, Inc. Printed in the °dONLNdJ∫*√d(¡*United States of iİdONLNd[∫d√Ñ):America.°dONLNdd≈*Œf(Ã*No licenses, exprúİdONLNdu≈fŒ¢)<ess or implied, arX°dONLNdá≈£Œ®)=e °dONLNdâŒ*◊](’*granted with r`İdONLNdóŒ]◊£)3espect to any of the °dONLNd¨◊*‡•(fi*#technology described in this book. °dONLNdœ‡*ÈE*    Apple rÑİdONLNd÷‡EÈó)etains all intellectual pr °dONLNd‡òȱ)Soperty °dONLNd˜È*ÚØ(*&rights associated with the technology °dONLNdÚ*˚®*    %described in this book. This book is °dONLNdB˚*ì*    intended to assist application °dONLNda*
  5046. π*    (developers to develop applications only °dONLNdâ
  5047. *6*    for eİdONLNdç
  5048. 6ú) Apple Macintosh computers.°dONLNd®*!G(*Every ef≥İdONLNd∞G!©)fort has been made to ensurΔ°dONLNdÀ©!Æ)be °dONLNdÕ!**Ø((*'that the information in this manual is °dONLNdÙ**3K*    
  5049. accurate. ªÄ°dONLNd˛*K3{)!Apple is not r°dONLNd *|3Ø)1esponsible for °dONLNd3*<w(:*printing or clerical errİdONLNd33x<Ñ)Nors.°dONLNd8@*If(G*Apple Computer>İdONLNdF@fIv)<, Inc.°dONLNdMI*R^(P*20525 Mariani >İdONLNd[I^Rd)4AªÄ°dONLNd\IcRx)venue°dONLNdbR*[^(Y*
  5050. Cupertino, CA6İdONLNdoR^[t)4 95014°dONLNdv[*dW(b* 408-996-1010°dONLNdÉh*qQ*
  5051. Apple, the MİdONLNdéhQq|)' Apple logo, Ö°dONLNdöh|qó)+APDA, °dONLNd†q*zT(x* AppleLink, ÜİdONLNd´qTzz)*    AppleSharf°dONLNd¥qzzÅ)&e, ÔİdONLNd∑qÅzõ)A/UX, °dONLNdΩz*ÉM(Å*HyperCarİdONLNd≈zNÉr)$    d, LaserW©°dONLNdŒzqÉÄ)#riter(İdONLNd”zÄÉ≠)
  5052. , Macintosh, °dONLNd‡É*åÑ(ä*Macintosh Quadra, MPWs°dONLNdıÉÑå¥)Z
  5053. , PowerBook, °dONLNdå*ïX(ì* and SANE arİdONLNd
  5054. åYïí)/e trademarks of #°dONLNdåíï™)9Apple °dONLNd#ï*ûN(ú*Computer>İdONLNd+ïNûf)$    , Inc., r*°dONLNd4ïfû})egisterüİdONLNd;ï}û∏)ed in the United °dONLNdLû*ßá(•*States and other countries.°dONLNdh©*≤A* Finder8İdONLNdn©A≤≥), Macintosh Centris, QuickDrawπİdONLNdå©≤≤∂)q, °dONLNdé≤*ªS(π*
  5055. and QuickTÚİdONLNdò≤Sªi))ime ar0°dONLNdû≤jª£)e trademarks of °dONLNdƪ*ƒf(¬*Apple Computer>İdONLNdºªfƒv)<, Inc.°dONLNd√Δ*œ•(Õ*#Adobe Illustrator and PostScript arİdONLNdÊΔ¶œ´)|e °dONLNdËœ*ÿ](÷*trademarks of …İdONLNdˆœ]ÿï)3Adobe Systems °dONLNdÿ*·í(fl*Incorporated, which may be r>İdONLNd ÿì·™)iegister¥°dONLNd'ÿ™·¥)ed °dONLNd*·*Íz(Ë*in certain jurisdictions.°dONLNdDÏ*ı™* $America Online is a service mark of °dONLNdhı*˛¢*    Quantum Computer Services, Inc.°dONLNdà*    U* Classic is a rÂİdONLNdñU    l)+egister[°dONLNdùm    û)
  5056. ed trademark °dONLNd™    *Q(* licensed to ¸Ä°dONLNd∂    Qç)'Apple Computerª°dONLNdƒ    çù)<, Inc.°dONLNdÀ*k(*CompuServe is a rÉİdONLNd‹kÇ)Aegister˘°dONLNd„Çß) ed service °dONLNdÓ*&Ü($*mark of CompuServe, Inc.4^….Y°dONLNd\…e    (c…FrameMaker is a røÄ°dONLNd\    e )@egister5°dONLNd\!eR)
  5057. ed trademark °dONLNd,e…nÔ(l…
  5058. of Frame T4°dONLNd6eÔnC)&echnology Corporation.°dONLNdMp…y"(w…Helvetica and Palatino ar÷İdONLNdfp"y*)Ye r∞°dONLNdip+yB)    egister%İdONLNdppCyM)ed °dONLNdsy…ÇA(Ä…trademarks of Linotype Company&°dONLNdëyAÇC)x.°dONLNdìÑ…ç?(ã…#Internet is a trademark of Digital °dONLNd∂ç…ñ*    Equipment Corporation.°dONLNdÕò…°* ITC Zapf Dingbats is a r]İdONLNdÂò°5)Uegister”°dONLNdÏò5°?)ed °dONLNdÔ°…™-(®…trademark of International TΔ°dONLNd °-™J)dypeface °dONLNd™…≥ˆ(±… Corporation.°dONLNd µ…æfl* MotormİdONLNd%µflæ¸)
  5059. ola is a r‹°dONLNd/µ¸æ)egisterQİdONLNd6µæN)ed trademark of °dONLNdFæ…«fl(≈…MotormİdONLNdKæfl«)ola Corporation.°dONLNd\……“Ÿ(–…Optr9İdONLNd`…⁄“O)!otech is a trademark of Orbotech °dONLNdÅ“…€ˆ(Ÿ… Corporation.°dONLNdé›…Ê** PowerPC is a trademark of °dONLNd®Ê…Ô=*     International Business Machines °dONLNd»Ô…¯ˆ*     Corporation.°dONLNd’˙…O* #THINK C is a trademark of Symantec °dONLNd¯… ˆ*     Corporation.°dONLNd…* UNIX is a r#İdONLNdÒ)(egisterô°dONLNdB)ed trademark of °dONLNd'… 8(…UNIX System Laboratories, Inc.°dONLNdF$…-X*
  5060. 'Simultaneously published in the United °dONLNdm-…6 *    States and Canada.4^h.¯
  5061. °dONLNdÄ]heê(ch    LIMITED W°dONLNdâ]êe‹)(ARRANTY ON MEDIAöp°dONLNdô]‹e)L AND °dONLNdûfhnû(lh REPLACEMENT°dONLNd™sh{u*
  5062. ALL_0°dONLNd≠sv{ü)
  5063.  IMPLIED WYê°dONLNd∑sü{Ï))ARRANTIES ON THIS °dONLNd…|hÑ€(ÇhMANUAL, INCLUDING IMPLIED °dONLNd„Öhço*    Wfl°dONLNd‰Önç—)ARRANTIES OF MERCHANTd°dONLNd˘Ö—çÔ)cABILITY °dONLNd    éhñ∞(îhAND FITNESS FOR AÊ∞°dONLNd    é∞ñ∂)H Ph¿°dONLNd    é∂ñ¿)ARÜP°dONLNd    é¿ñ‚)
  5064. TICULAR °dONLNd    óhüfi(ùhPURPOSE, ARE LIMITED IN DURA¶ °dONLNd    :ófiüÚ)vTION °dONLNd    ?†h®™(¶hTO NINETY (90) DAiİdONLNd    P†™®Ë)BYS FROM THE DAÀ†°dONLNd    ^†Á®Ò)=TE °dONLNd    a©h±©(ØhOF THE ORIGINAL∞°dONLNd    p©™±π)B RET30°dONLNd    t©π±≈)AILÖ °dONLNd    w©≈±)
  5065.  PURCHASE °dONLNd    Å≤h∫™(∏hOF THIS PRODUCTæ`°dONLNd    ê≤™∫´)B.°dONLNd    íøh«·(≈h$Even though Apple has reviewed this °dONLNd    ∂»h–Ã*    manual, APPLE MAKES NO Wa@°dONLNd    Œ»ÖÒ)dARRANTY °dONLNd    ÷—hŸû(◊h OR REPRESENT{¿°dONLNd    ‚—ûŸ£)6AI °dONLNd    „—£Ÿˆ)TION, EITHER EXPRESS °dONLNd    ¯⁄h‚Ó(‡h!OR IMPLIED, WITH RESPECT TO THIS °dONLNd
  5066. „hΪ*    MANUAL, ITS QUALITYf∞°dONLNd
  5067. ,„ªÎÁ)S
  5068. , ACCURACYõİdONLNd
  5069. 6„ÁÎÍ),, °dONLNd
  5070. 8ÏhÙì(ÚhMERCHANT°dONLNd
  5071. @ÏìÙ∞)+ABILITY≠p°dONLNd
  5072. GÏØÙÙ), OR FITNESS FOR A[†°dONLNd
  5073. YÏıÙˆ)F °dONLNd
  5074. Zıh˝l(˚hPB°dONLNd
  5075. [ıl˝v)AR_†°dONLNd
  5076. ]ıv˝Œ)
  5077. TICULAR PURPOSE. AS AÑê°dONLNd
  5078. rıŒ˝Á)X RESUL‡°dONLNd
  5079. xıÁ˝Î)T†°dONLNd
  5080. yıνÓ), °dONLNd
  5081. {˛hú(h THIS MANUAL°dONLNd
  5082. ܲùÌ)5 IS SOLD “AS IS,” AND °dONLNd
  5083. úh˜(
  5084. h!YOU, THE PURCHASER, ARE ASSUMING °dONLNd
  5085. Ωh*    "THE ENTIRE RISK AS TO ITS QUALITY °dONLNd
  5086. flh!§*     AND ACCURACY0°dONLNd
  5087. Χ!•)<.°dONLNd
  5088. Ì&h.¨(,hIN NO EVENT WILLùp°dONLNd
  5089. ˝&¨.Ï)D APPLE BE LIABLE °dONLNd /h7î(5h
  5090. FOR DIRECTˇ@°dONLNd /ì7∫)+
  5091. , INDIRECT °dONLNd "/ª7‡)( , SPECIAL, °dONLNd -8h@å(>hINCIDENTÃİdONLNd 58å@Â)$AL, OR CONSEQUENTIALK°dONLNd I8Ê@Á)Z °dONLNd JAhIß(Gh
  5092. DAMAGES RESUL)–°dONLNd WAßIÂ)?TING FROM ANY °dONLNd eJhR„(PhDEFECT OR INACCURACY IN THIS °dONLNd ÇSh[˜*    +MANUAL, even if advised of the possibility °dONLNd ≠\hdû*    of such damages.°dONLNd æihq*
  5093. THE We†°dONLNd √iqÓ)ARRANTY AND REMEDIES SET °dONLNd ‹rhzv(xhFOR°dONLNd flrvzÎ)TH ABOVE ARE EXCLUSIVE AND °dONLNd ˚{hÉû(ÅhIN LIEU OF ALLü0°dONLNd     {ûÉ’)6
  5094.  OTHERS, ORALJ¿°dONLNd {÷ɉ)8 OR °dONLNd ÑhåÈ(äh WRITTEN, EXPRESS OR IMPLIED. No °dONLNd :çhïë*     Apple dealerÜ0°dONLNd FçëïŸ)), agent, or employee is °dONLNd ^ñhû (úhauthorized to make any modifi°dONLNd {ñ û‡)bcation, °dONLNd Éühß‚(•h'extension, or addition to this warrantyÛ`°dONLNd ™ü·ß‚)y.°dONLNd ¨¨h¥Ì(≤h*Some states do not allow the exclusion or °dONLNd ÷µhΩÙ*    .limitation of implied warranties or liability °dONLNd
  5095. æhΔÎ*    )for incidental or consequential damages, °dONLNd
  5096. .«hœÍ*    )so the above limitation or exclusion may °dONLNd
  5097. X–hÿÓ*    *not apply to you. This warranty gives you °dONLNd
  5098. ÇŸh·|*    specifi¿°dONLNd
  5099. âŸ}·Û)&c legal rights, and you may also have °dONLNd
  5100. Ø‚hÍÓ(Ëh,other rights which vary from state to state.4d*¬∫
  5101. °dONLNd
  5102. ‹b*kn(i*ISBN 0-201-40727-2°dONLNd
  5103. Ôk*tk*    1 2 3 4 5 6 7 8 9-CR‚İdONLNdkkts)AWr°dONLNdkstù) -9897969594°dONLNdt*}l({*First Printing, FebrC°dONLNd$tm}è)C    uary 19944d…¬¯°dONLNd.b…kÖ(i…2Library of Congress Cataloging-in-Publication Data°dONLNdap…yb*(Inside Macintosh. PowerPC system softwar<İdONLNdâpcyo)öe / ü°dONLNdçpoy´) Apple Computer]İdONLNdõp´yª)<, Inc.°dONLNd£yÌÇÛ(ÄÌp.O°dONLNd¶y¸Ç)cm.°dONLNd™Ç·ã(â·Includes index.°dONLNd∫ã·î%*    ISBN 0-201-40727-2°dONLNdÕî·ù9*    1. Macintosh (Computer)J°dONLNdÂîBùÄ)a2. PowerPC (Micr»Ä°dONLNdıîÄùå)>opr˙°dONLNd¯îåù®) ocessor)≥°dONLNdî±ù’)%
  5104. 3. Systems°dONLNd ù’¶Ô(§’softwar8İdONLNdù¶ı)e.
  5105. İdONLNdù˛¶    )I. T6°dONLNdù    ¶q) itle: PowerPC system softwar!İdONLNd6ùq¶v)he.°dONLNd9¶’Ø (≠’
  5106. QA76.8.M3I528F°dONLNdG¶Ø$)?1994°dONLNdLØ’∏
  5107. (∂’005.4'469—dc20÷°dONLNd[Ø‘∏Ú)ˇ93-50182M°dONLNdd∏‚¡Ô+    CIPˇÙ@ˇ ˇˇˇˇ@
  5108. ˇ·ˇ‚7^
  5109. 4⁄∫˙, Palatino
  5110. .Ñ`(‡ iii4^H¿
  5111. ^Hö4^Hö
  5112. °dONLNd^∫w(p∫Contents
  5113. ˇ·ˇ‚7^
  5114. °dONLNd    ò∫§“*1FigurR¿°dONLNdò“§Ê)es, Tè °dONLNdò§6)ables, and Listings|@°dONLNd(òK§V)fvii
  5115. ¬H…4√H… ƒHƒ
  5116. ˇ·ˇ‚7^,     Helvetica
  5117. °dONLNd,∂H¡m(æHPreface
  5118. °dONLNd4≥∫¬‚)rAbout ∑@°dONLNd:≥‚¬ )(    This Book
  5119. Û@°dONLNdEµ4¡<)Rix°dONLNdI…∫’"(“∫Related DocumentationT‡°dONLNd`…7’?)}xi°dONLNdc÷∫‚ı(fl∫
  5120. Format of a T¿°dONLNdp÷ı‚6);ypical ChapterM °dONLNdÄ÷J‚R)Uxi°dONLNdÉ„∫ÔE(Ï∫Conventions Used in This BookİdONLNd¢„ZÔd)†xii°dONLNd¶ƒ¸˛(˘ƒ
  5121. Special Fonts°‡°dONLNdµ¸)Nxii°dONLNdπ˝ƒ     (ƒT∫¿°dONLNd∫˝…    )
  5122. ypes of Notes)`°dONLNd…˝    $)Qxii°dONLNdÕ
  5123. ƒ&(ƒBit Numbering and Wˇ`°dONLNd‡
  5124. %.)aor9‡°dONLNd‚
  5125. /I)
  5126. d Size«`°dONLNdÍ
  5127. ]g).xii°dONLNdÓƒ#V( ƒAssembly-Language Information?İdONLNd
  5128. k#x)ßxiv°dONLNd$∫0(-∫Development EnvirH‡°dONLNd"$02)WonmentA °dONLNd*$G0T)6xiv°dONLNd.1∫=fi(:∫For Morß°dONLNd51fi=)$
  5129. e Information" °dONLNdD1/=9)Qxv
  5130. mHt4nHt oHo
  5131. ˇ·ˇ‚7^
  5132. °dONLNdGaHlx(iH    Chapter 1
  5133. °dONLNdQ^∫mø)r'Introduction to PowerPC System Software
  5134. ‡ °dONLNdz`”l‡(i”1-1°dONLNdt∫Äu(}∫&Overview of the PowerPC System Softwarö¿°dONLNd•tuÄy)ªed`°dONLNd®téÄõ)1-4°dONLNd¨Å∫ç(ä∫The 68LC040 Emulator¯@°dONLNd¬Å3ç@)y1-6°dONLNdΔéƒö(óƒEmulator OperationdONLNd⁄é1ö>)m1-7°dONLNdfiõƒß"(§ƒEmulator Limitations;@°dONLNdÙõ7ßD)s1-8°dONLNd¯®Œ¥‰(±ŒCopr”†°dONLNd¸®‰¥)ocessors¢ °dONLNd®¥*)91-9°dONLNd
  5135. µŒ¡‚(æŒInstr
  5136. ‡°dONLNdµ„¡)uction T °dONLNdµ¡%)$imingsM@°dONLNdµ9¡F)21-9°dONLNd#¬ŒŒ(ÀŒ
  5137. Deleted InstrÓİdONLNd0¬Œ')9uctionsİdONLNd9¬<ŒI)51-9°dONLNd=œŒ€ (ÿŒUnsupported Instr˛¿°dONLNdNœ €Z)R
  5138. uction Featurœ°dONLNd[œ[€d);es’†°dONLNd_œx€ä)1-10°dONLNdd‹ŒË‚(ÂŒInstr
  5139. ‡°dONLNdi‹„Ë )
  5140. uction Caches÷ °dONLNdx‹4ËF)Q1-10°dONLNd}ÈŒıÂ(ÚŒAddrC¿°dONLNdÅÈÊı)ess Err⁄¿°dONLNdàÈı?)
  5141. or ExceptionsÒ‡°dONLNdóÈSıe)P1-10°dONLNdúˆŒÓ(ˇŒBus Err3@°dONLNd£ˆÔ+)!
  5142. or ExceptionsJ`°dONLNd≤ˆ?L)P1-1†°dONLNdµˆLQ)
  5143. 1°dONLNd∑Œ]( ŒMemory-Mapped I/O Locations6†°dONLNd‘r)§1-1˝‡°dONLNd◊~É) 1°dONLNdŸ∫Ú(∫
  5144. Mixed Mode;¿°dONLNdÂ)M1-13°dONLNd̓)œ(&ƒCr\°dONLNdÏœ)) oss-Mode Calls@°dONLNd¸')9)X1-14°dONLNd*ƒ6(3ƒRoutine DescriptorsÈ °dONLNd*06B)l1-15°dONLNd7ƒC/(@ƒMemory Considerations°dONLNd27DCV)Ä1-19°dONLNd7D∫P2(M∫The PowerPC Native Envirô°dONLNdOD2PS)xonmentë@°dONLNdWDhPz)61-19°dONLNd\Qƒ]Ú(Zƒ    Fragments@°dONLNdgQ])C1-20°dONLNdl^ŒjÌ(gŒThe StrİdONLNds^Ój) uctur¢`°dONLNdx^jF)e of Fragments4†°dONLNdà^[jm)V1-22°dONLNdçkŒw)(tŒImports and Exports∑@°dONLNd¢k=wO)o1-23°dONLNdßxŒÑÁ(ÅŒThe TÒİdONLNd¨xÊÑ-)able of ContentsØ °dONLNdæxBÑT)\1-26°dONLNd√ÖŒë(éŒSpecial Routinesy‡°dONLNd’Ö+ë=)]1-29°dONLNd⁄íŒû(õŒFragment Storage@°dONLNdÏí1ûC)c1-30°dONLNdÒüŒ´(®ŒExecutable Resour˜†°dONLNdü´,)QcesnİdONLNdüA´S)"1-34ˇX@ˇ ˇˇˇˇ@
  5145. ˇ·ˇ‚7^
  5146. 4⁄*ˇ¯, Palatino
  5147. .(·*iv4^*¿¯°dONLNd\¶h(e¶Calling Conventions~`°dONLNd\h')o1-41°dONLNdi∞u9(r∞The 680x0 Calling Conventionsb¿°dONLNd9iNu`)û1-42°dONLNd>v∞ÇJ(∞The PowerPC Calling ConventionsÌ °dONLNd_v^Çp)Æ1-43°dONLNddÉ∞è(å∞Parameter Passinge°dONLNdwÉè()f1-47°dONLNd|ê¶úÓ(ô¶Import Libraries? °dONLNdéêú)]1-50°dONLNdìù¶©≈(¶¶The Or\†°dONLNdôù≈©')ganization of Memory͆°dONLNdØù;©M)v1-52°dONLNd¥™∞∂Î(≥∞ File Mapping·°dONLNd¬™ˇ∂)O1-53°dONLNd«∑∞√ (¿∞The System Partition¿@°dONLNd›∑ √2)p1-56°dONLNd‚ƒ∞–(Õ∞Application PartitionsS¿°dONLNd˙ƒ&–8)v1-57°dONLNdˇ—∞›«(⁄∞Data °@°dONLNd—«›ˆ)    AlignmentK °dONLNd— ›)D1-63°dONLNdfiúÍ'(ÁúCompatibility and Performancem‡°dONLNd3fi<ÍN)†1-65°dONLNd8ζ˜«(Ù¶Patches@°dONLNdA΋˜Ó)61-66°dONLNdF¯¶¨(¶T†¿°dONLNdG¯¨    )he Memory Manager◊‡°dONLNdZ¯/)q1-68°dONLNd_¶Á(¶
  5148. Performance Tõ‡°dONLNdlÊ)@uningΩ@°dONLNds&).1-70°dONLNdx∞Û(∞
  5149. Mode SwitchesŸ‡°dONLNdá)W1-71°dONLNdå∞+((∞Routine Parameters≈‡°dONLNd†+-)k1-72
  5150. [*b¯4\*b¯ ]*]¯
  5151. ˇ·ˇ‚7^,     Helvetica
  5152. °dONLNd•O*ZZ(W*    Chapter 2
  5153. °dONLNdØLú[#)rMixed Mode Manager
  5154. Ÿ °dONLNd√N7ZD)õ2-1°dONLNd»bún-(kúAbout the Mixed Mode Manager9°dONLNdÊbBnO)¶2-4°dONLNdÍo¶{‰(x¶
  5155. External Coden†°dONLNd˘o˘{)S2-4°dONLNd˝|¶àØ(Ö¶PrN†°dONLNdˇ|∞àŒ)
  5156. ocedur‡°dONLNd|Œà˘)
  5157. e Pointers§°dONLNd|à)@2-5°dONLNdâ¶ïÈ(í¶
  5158. Mode SwitchesŸ‡°dONLNd$â˝ï
  5159. )W2-7°dONLNd(ñ∞¢(ü∞Calling PowerPC Cod ‡°dONLNd;ñ¢")be Fr©†°dONLNd?ñ"¢e)
  5160. om 680x0 Code熰dONLNdNñz¢á)X2-8°dONLNdR£∞Ø(¨∞Calling 680x0 CodÅİdONLNdc£Ø)Qe Fr@°dONLNdg£Øf)om PowerPC Code熰dONLNdx£zØå)h2-12°dONLNd}∞úº+(πúUsing the Mixed Mode Managerx@°dONLNdõ∞@ºR)§2-14°dONLNd†Ω¶…·(Δ¶
  5161. Specifying Pr^†°dONLNd≠Ω·…ˇ);ocedurı‡°dONLNd≥Ωˇ…;)
  5162. e Informationq°dONLNd¬ΩP…b)Q2-14°dONLNd« ¶÷∫(”¶Usin>°dONLNdÀ ª÷˙)g Universal Pr§†°dONLNdŸ ˙÷)?ocedur;‡°dONLNdfl ÷D)
  5163. e Pointers˙°dONLNdΠX÷j)?2-21°dONLNd◊¶„5(‡¶ Using Static Routine DescriptorsS`°dONLNd◊J„\)§2-22°dONLNd‰¶Û(̶Executing Resour‡°dONLNd'‰Ù/)N ce-Based Cod˚°dONLNd3‰/3);eƒ†°dONLNd6‰HZ)2-24°dONLNd;Òú˝•(˙úMı@°dONLNd<Ò•˝)    ixed Mode Manager Refer'‡°dONLNdSÒ˝,)tence¸¿°dONLNdYÒ@˝R)'2-26°dONLNd^˛¶
  5164. “(¶    ConstantsưdONLNdi˛Ê
  5165. ¯)@2-27°dONLNdn ∞(∞Routine Descriptor Flagso¿°dONLNdà 2D)Ç2-27°dONLNdç∞$π(!∞PrN†°dONLNdè∫$ÿ)
  5166. ocedur‡°dONLNdïÿ$) e Informatio膰dONLNd°$)7na°dONLNd§)$;)2-27°dONLNd©%∞1Ï(.∞
  5167. Routine Flags4°dONLNd∏%1)Q2-34°dONLNdΩ2∞>ƒ(;∞Instr
  5168. ‡°dONLNd¬2≈>Û) uction Set ‰@°dONLNdÕ2Ú>˝)-ArpİdONLNdœ2˛>$)     chitectur%@°dONLNdÿ2%>.)'es+‡°dONLNd‹2B>T)2-35.°dONLNd·?¶KŒ(H¶Data Strl°dONLNdÈ?ŒK‰)(uctur>`°dONLNdÓ?‰KÌ)es>`°dONLNdÚ?K)2-36.°dONLNd˜L∞XÓ(U∞
  5169. Routine Recor¿°dONLNdLÔX˘)?dskİdONLNdL
  5170. X)2-36°dONLNd
  5171. Y∞e(b∞Routine DescriptorsÈ °dONLNd"Ye.)l2-37°dONLNd'f¶r2(o¶Mixed Mode Manager Routines˚ °dONLNdDfFrX)†2-38°dONLNdIs∞ª(|∞Cr\°dONLNdKsª) +eating and Disposing of Routine Descriptors∞†°dONLNdxsì•)ÿ2-39°dONLNd}Ä∞å(â∞Calling Routines vil†°dONLNdêÄåD)Ua Universal PrD °dONLNdûÄDåb)?ocedur€`°dONLNd§Äbåç)
  5172. e PointersôİdONLNd∞Ä¢å¥)@2-42°dONLNdµç∞ôˇ(ñ∞Determining InstrͰdONLNdΔçˇô-)O uction Set ¿`°dONLNd—ç-ô8).ArL†°dONLNd”ç9ô_)     chitectur`°dONLNd‹ç`ôi)'es°dONLNd‡ç}ôè)2-44ˇ@ˇ ˇˇˇˇ@
  5173. ˇ·ˇ‚7^
  5174. 4⁄∫˙, Palatino
  5175. .‡(‡v4^H¿°dONLNd\∫hf(e∫!Summary of the Mixed Mode Manager °dONLNd#\zhå)¿2-45°dONLNd(iƒu˘(rƒ    C SummaryᆰdONLNd3i
  5176. u)I2-45°dONLNd8vŒÇ˙(Œ    ConstantsưdONLNdCvÇ )@2-45°dONLNdHÉŒè’(åŒD=@°dONLNdIÉ÷èÎ)ata T:`°dONLNdNÉÎè˚)ypeï@°dONLNdQÉ˚èˇ)s“@°dONLNdTÉè%)2-48°dONLNdYêŒúZ(ôŒMixed Mode Manager Routines˚ °dONLNdvênúÄ)†2-49
  5177. ÃH”4ÕH” ŒHŒ
  5178. ˇ·ˇ‚7^,     Helvetica
  5179. °dONLNd{¿HÀx(»H    Chapter 3
  5180. °dONLNdÖΩ∫ÃV)rCode Fragment Manager
  5181. ⁄‡°dONLNdúøjÀw)∞3-1°dONLNd°”∫flW(‹∫About the Code Fragment Manager1`°dONLNd¬”lfly)≤3-3°dONLNdΔ‡ƒÏÚ(ȃ    Fragments@°dONLNd—‡Ï)C3-4°dONLNd’̃˘(ˆƒImport Library Sear-†°dONLNdËÌ˘4)Xching∏ °dONLNdÔÌH˘U),3-5°dONLNdÛ˙ƒÀ(ƒVú`°dONLNdÙ˙ )ersion Checking? °dONLNd˙&3)\3-7°dONLNd    ∫U(∫Using the Code Fragment Managerp†°dONLNd*j|)∞3-10°dONLNd/ƒ 4(ƒLoading Code FragmentsÁ°dONLNdGH Z)Ñ3-10°dONLNdL!ƒ-œ(*ƒCr\°dONLNdN!œ-Z) eating a Code Fragment Resour€@°dONLNdk!Z-c)ãce °dONLNdo!x-ä)3-12°dONLNdt.ƒ:(7ƒGetting Information ãİdONLNdà.:é)[About Exported Symbols5 °dONLNd†.£:µ)Ñ3-14°dONLNd•;∫GB(D∫Code Fragment Manager Refer @°dONLNd¿;CGV)âenceı °dONLNdΔ;jG|)'3-15°dONLNdÀHƒTÁ(QƒData Str``°dONLNd”HËTˇ)$ucturÊ@°dONLNdÿHˇT)esχ°dONLNd‹HT.)3-15°dONLNd·UŒaN(^ŒFragment Initialization Block@†°dONLNdUcau)ï3-15°dONLNdbŒn=(kŒFragment Location Recor◊¿°dONLNdb=nC)odÛİdONLNdbWni)3-16°dONLNd$oŒ{8(xŒMemory Location Recor†°dONLNd9o9{?)kd;`°dONLNd<oS{e)3-17°dONLNdA|Œà'(ÖŒDisk Location Recorá@°dONLNdT|'à-)Yd£°dONLNdW|AàS)3-17°dONLNd\âŒï9(íŒSegment Location Recor_`°dONLNdrâ9ï?)kd{ °dONLNduâSïe)3-18°dONLNdzñƒ¢\(üƒCode Fragment Manager RoutinesÛİdONLNdöñp¢Ç)¨3-18°dONLNdü£ŒØ$(¨ŒLoading Fragmentsı °dONLNd≤£8ØJ)j3-19°dONLNd∑∞Œº.(πŒUnloading FragmentsZ`°dONLNdÃ∞CºU)u3-23°dONLNd—ΩŒ…(ΔŒFinding Symbolsr‡°dONLNd‚Ω-…?)_3-24°dONLNdÁ ƒ÷(”ƒ Fragment-Defi)¿°dONLNdÙ ÷?)A ned Routines燰dONLNd S÷e)N3-26°dONLNd◊ƒ„„(‡ƒResourv@°dONLNd
  5182. ◊„„)cesÌ °dONLNd◊„)!3-28°dONLNd‰ŒG(ÌŒThe Code Fragment ResourÊ °dONLNd/‰GP)yce °dONLNd3‰ew)3-28°dONLNd8Ò∫˝ø(˙∫Sø¿°dONLNd9Òø˝r)#ummary of the Code Fragment Manager›Ä°dONLNd^ÒÜ˝ò)«3-32°dONLNdc˛ƒ
  5183. ˘(ƒ    C SummaryᆰdONLNdn˛
  5184. 
  5185. )I3-32°dONLNds Œ˙(Œ    ConstantsưdONLNd~  )@3-32°dONLNdÉŒ$’(!ŒD=@°dONLNdÑ÷$Î)ata T:`°dONLNdâÎ$ˇ)ypes“@°dONLNdè$%)(3-33°dONLNdî%Œ1f(.ŒCode Fragment Manager RoutinesÛİdONLNd¥%z1å)¨3-34°dONLNdπ2Œ>(;Œ Fragment-Defi)¿°dONLNdΔ2>I)A ned Routines燰dONLNd‘2]>o)N3-35°dONLNdŸ?ƒK˛(Hƒ Result Codesï`°dONLNdÁ?K$)N3-35
  5186. {HÇ4|HÇ }H}
  5187. ˇ·ˇ‚7^
  5188. °dONLNdÏoHzx(wH    Chapter 4
  5189. °dONLNdˆl∫{2)rException Manager
  5190. °dONLNd    nGzT)ç4-1°dONLNdÇ∫é>(ã∫About the Exception Managero@°dONLNd+ÇSé`)ô4-3°dONLNd/èƒõ(òƒException Contexts‡°dONLNdCè.õ;)j4-4°dONLNdGúƒ® (•ƒT∫¿°dONLNdHú…®)ypes of ExceptionsK°dONLNd\ú0®=)g4-5ˇ
  5191. x@ˇ ˇˇˇˇ@
  5192. ˇ·ˇ‚7^
  5193. 4⁄*ˇ¯, Palatino
  5194. .(·*vi4^*¿¯°dONLNd\úh(eúUsing the Exception ManagerÆÄ°dONLNd\3h@)ó4-6°dONLNd!i¶u2(r¶Installing an Exception Handlero`°dONLNdBiGuT)°4-6°dONLNdFv¶Ç∞(¶W¬†°dONLNdGvØÇ*)    riting an Exception HandlerO`°dONLNddv?ÇL)ê4-7°dONLNdhÉúè (åúException Manager Refer^ °dONLNdÉ è)pence3°dONLNdÖÉ4èA)(4-9°dONLNdâê¶ú“(ô¶    ConstantsưdONLNdîêÊúÛ)@4-9°dONLNdòù∞©¯(¶∞Exception KindsF†°dONLNd©ù
  5195. ©)]4-9°dONLNd≠™∞∂(≥∞ Memory Referd@°dONLNdπ™∂ )@
  5196. ence Kinds
  5197. ¿°dONLNd≈™5∂B)E4-1’°dONLNd»™A∂F) 1°dONLNd ∑¶√…(¿¶Data Str``°dONLNd“∑ √·)$ucturÊ@°dONLNd◊∑·√Í)esχ°dONLNd€∑˛√)4-12°dONLNd‡ƒ∞–)(Õ∞Machine Information Recor °dONLNd˘ƒ*–4)zdsf‡°dONLNd˝ƒH–Z)4-12°dONLNd—∞›'(⁄∞Register Information Recor˛†°dONLNd—'›1)wdsW`°dONLNd —F›X)4-12°dONLNd%fi∞ÍB(Á∞ Floating-Point Information Recor@°dONLNdEfiCÍM)ìdst°dONLNdIfiaÍs)4-14°dONLNdNÎ∞˜π(Ù∞Mı@°dONLNdOÎπ˜)    emory Exception RecorûİdONLNddΠ˜*)gds˜@°dONLNdhÎ>˜P)4-15°dONLNdm¯∞/(∞Exception Information Recor≈‡°dONLNdà¯/9)ds†°dONLNdå¯N`)4-16°dONLNdë¶%(¶Exception Manager Routines1`°dONLNd≠:L)î4-17°dONLNd≤¶(¶Application-Defi†°dONLNd¬*)J ned RoutinesI¿°dONLNd–?Q)O4-17°dONLNd’ú+;((ú Summary of the Exception Manager`°dONLNd˜P+b)¥4-19°dONLNd¸,¶8€(5¶    C SummaryᆰdONLNd,Ô8)I4-19°dONLNd 9∞E‹(B∞    ConstantsưdONLNd9E)@4-19°dONLNdF∞RÕ(O∞Data T:`°dONLNd"FÕR·)ypes“@°dONLNd(FıR)(4-19°dONLNd-S∞_/(\∞Exception Manager Routines1`°dONLNdISD_V)î4-22°dONLNdN`∞l˙(i∞Application-Defi†°dONLNd^`˙l4)J ned RoutinesI¿°dONLNdl`Il[)O4-22
  5198. ú*£¯4ù*£¯ û*û¯
  5199. ˇ·ˇ‚7^,     Helvetica
  5200. °dONLNdqçúú”(òúGlossary
  5201. ∏İdONLNd{èÁõ˝)KGL-1
  5202. “*Ÿ¯4”*Ÿ¯ ‘*‘¯
  5203. ˇ·ˇ‚7^
  5204. °dONLNdÅ√ú“æ(ŒúIndex
  5205. º‡°dONLNdà≈“—Ê)6IN-1ˇR@ˇ ˇˇˇˇ@
  5206. ˇ·ˇ‚7^
  5207. 4⁄∫˙, Palatino
  5208. .I (‡
  5209. vii4^H¿
  5210. ˇˇ—Úˇ◊°dONLNd[∫o‰(j∫Figur{z°dONLNd[‰o)*es, T5°dONLNd
  5211. [oñ)"ables, and Listings
  5212. ®HÆ4©HÆ ™∫™
  5213. ˇ·ˇ‚7^,     Helvetica
  5214. °dONLNdúH®j(•HPreface
  5215. °dONLNd&ù∫®Ÿ)rAbout °dONLNd,ù⁄®
  5216. )     This Book
  5217.     °dONLNd7ù®#)Cix°dONLNd;±∫ºÂ(π∫
  5218. Figure P-1°dONLNdF±ºY)N680x0 bit numberingP°dONLNd[±lºv)dxiii°dONLNd`Ω∫»Â(≈∫
  5219. Figure P-2°dONLNdkΩ»A)N
  5220. PowerPC bit n¿°dONLNdxΩB»g):umberingÇİdONLNdÇΩy»É)7xiii°dONLNdá’∫‡‚(›∫    Table P-1°dONLNdë’‡s)NSizes of memory operandsÉp°dONLNd´’Ö‡è)}xiii
  5221. H
  5222. 4H
  5223.  ∫
  5224. ˇ·ˇ‚7^
  5225. °dONLNd∞¯Hs(H    Chapter 1
  5226. °dONLNd∫˘∫á)r'Introduction to PowerPC System Software
  5227.     Ï@°dONLNd„˘ô¶)fl1-1°dONLNdË
  5228. ∫‰(∫
  5229. Figure 1-1°dONLNdÛ
  5230. )N:The system software for PowerPC processor-based Macintosh °dONLNd-"2*
  5231.     computersÄ¿°dONLNd8D"Q)<1-5°dONLNd<"∫-‰(*∫
  5232. Figure 1-2°dONLNdG"-Å)NCreating imports in a fragmentÅp°dONLNdg"ì-•)ã1-24°dONLNdl.∫9‰(6∫
  5233. Figure 1-3°dONLNdw.9)NA0°dONLNdx.9P) transition vector∞°dONLNdå.b9t)T1-27°dONLNdë9∫D‰(A∫
  5234. Figure 1-4°dONLNdú9D§)N&The structure of a PowerPC application–°dONLNdƒ9∑D…)Ø1-31°dONLNd…E∫P‰(M∫
  5235. Figure 1-5°dONLNd‘EPó)N$The structure of a 680x0 application↰dONLNd˙E©Pª)°1-32°dONLNdˇP∫[‰(X∫
  5236. Figure 1-6°dONLNd
  5237. P[à)N"The structure of a fat applicationp°dONLNd.Põ[≠)ì1-33°dONLNd3\∫g‰(d∫
  5238. Figure 1-7°dONLNd>\g™)N(The structure of an accelerated resourceᇰdONLNdh\ºgŒ)¥1-35°dONLNdmg∫r‰(o∫
  5239. Figure 1-8°dONLNdxgrë)N#The structure of a private resource†°dONLNdùg§r∂)ú1-36°dONLNd¢s∫~‰({∫
  5240. Figure 1-9°dONLNd≠s~)NA0°dONLNdÆs~Z) 680x0 stack frame‡°dONLNd¬sl~~)^1-42°dONLNd«~∫âÍ(Ü∫ Figure 1-10°dONLNd”~âW)NThe PowerPC stack†°dONLNdÊ~jâ|)b1-44°dONLNdÎä∫ïÍ(í∫ Figure 1-11°dONLNd˜äïÅ)NThe structure of a stack frame’Ÿ¿°dONLNdäÅïπ)ys linkage area›°dONLNd&äÀï›)J1-45°dONLNd+ï∫†Í(ù∫ Figure 1-12°dONLNd7ï†A)N The Red Zone°dONLNdEïT†f)L1-46°dONLNdJ°∫¨Í(©∫ Figure 1-13°dONLNdV°¨◊)N3The organization of the parameter area on the stackçİdONLNdã°È¨˚)·1-49°dONLNdê¨∫∑Í(¥∫ Figure 1-14°dONLNdú¨∑È)N5Organization of memory when virtual memory is enabledÉ°dONLNd”¨˚∑
  5241. )Û1-54°dONLNdÿ∏∫√Í(¿∫ Figure 1-15°dONLNd‰∏√ÿ)N2Organization of memory when virtual memory is not °dONLNd¬Õ(*
  5242. enabledÑ0°dONLNd¬:ÕL)21-56°dONLNd$Õ∫ÿÍ(’∫ Figure 1-16°dONLNd0Õÿ«)N0The structure of a PowerPC application partitioná¿°dONLNdbÕŸÿÎ)—1-60°dONLNdgŸ∫‰Í(·∫ Figure 1-17°dONLNdsŸ‰Ó)N5The Memory control panel for PowerPC processor-based °dONLNd®„Ó]*
  5243. Macintosh computers@°dONLNdΩ„pÓÇ)h1-69°dONLNd¬˚∫Ê(∫ Listing 1-1°dONLNdŒ˚y)NCreating a routine descriptorP°dONLNdÌ˚åû)Ñ1-17°dONLNdÚ∫Ê(∫ Listing 1-2.°dONLNd˛()NThe defi°dONLNd(Y) nition of the ,
  5244. Courier°dONLNdYΩ)1NewControlActionProc°dONLNd(Ω€)d routine°dONLNd2Ìˇ)01-18.°dONLNd7∫Ê(∫ Listing 1-3°dONLNdCÒ)N<Creating a routine descriptor for a control action procedureâ°dONLNdÅ)˚1-19°dONLNdÜ∫(Ê(%∫ Listing 1-4°dONLNdí(
  5245. )NT°dONLNdì
  5246. (ë)"esting for unresolved soft importsÑ`°dONLNd∑£(µ)ñ1-25°dONLNdº)∫4Ê(1∫ Listing 1-5.°dONLNd»)4t)NThe Rez input for a sample °dONLNd„)t4í)l'cfrg'°dONLNdÈ)í4∏)     resource°dONLNdÙ) 4‹)81-32.°dONLNd˘4∫?Ê(<∫ Listing 1-6°dONLNd4?a)NRez input for a list defiÉp°dONLNd4a?µ)Ynition procedure stubà‡°dONLNd54«?Ÿ)f1-35°dONLNd:@∫KÊ(H∫ Listing 1-7°dONLNdF@KÇ)NUsing an accelerated resourceÖ‡°dONLNde@îK¶)å1-37°dONLNdjK∫VÊ(S∫ Listing 1-8°dONLNdvKV‰)N6Some acceptable global declarations in an accelerated °dONLNd¨U`+*
  5247. resourceưdONLNd∂U=`O)51-39°dONLNdªa∫lÊ(i∫ Listing 1-9°dONLNd«alÂ)N5Some unacceptable global declarations and code in an °dONLNd¸kv\*
  5248. accelerated resourceÉ¿°dONLNdknvÄ)f1-39°dONLNdv∫ÅÎ(~∫ Listing 1-10°dONLNd$vÅi)NUsing a private resource†°dONLNd>v|Åé)t1-40°dONLNdCÇ∫çÎ(ä∫ Listing 1-11°dONLNdPÇçj)NDeclaring an application’Z°dONLNdiÇjçfi)bs QuickDraw global variables\ °dONLNdáÇç)Ü1-59°dONLNdåç∫òÎ(ï∫ Listing 1-12°dONLNdôçò)NA0°dONLNdöçò\) sample 680x0 VBL≥†°dONLNd´ç[ò)M     task defi∂p°dONLNdµçòî)$nition7†°dONLNdΩçßòπ)(1-61°dONLNd¬ô∫§Î(°∫ Listing 1-13°dONLNdœô§)NA0°dONLNd–ô§_) conditionalized VBL3∞°dONLNd‰ô_§É)Q     task defi6İdONLNdÓôɧò)$nition∑∞°dONLNdˆô™§º)'1-62°dONLNd˚§∫ØÎ(¨∫ Listing 1-14°dONLNd§Øî)N!Patching an Operating System trapà∞°dONLNd+§¶Ø∏)û1-67°dONLNd0∞∫ªÎ(∏∫ Listing 1-15.°dONLNd=∞ª)NW+°dONLNd>∞ªB)aiting to call +°dONLNdM∞BªQ)2the +°dONLNdQ∞Qªí)
  5249. WaitNextEvent+°dONLNd^∞íªµ)A     function+°dONLNdi∞«ªŸ)51-72ˇå@ˇ ˇˇˇˇ@
  5250. ˇ·ˇ‚7^
  5251. 4⁄*ˇ¯, Palatino
  5252. .(·*viii4^*¿¯
  5253. h*n¯4i*n¯ júj¯
  5254. ˇ·ˇ‚7^,     Helvetica°dONLNd\*hU(e*    Chapter 2
  5255. °dONLNd
  5256. ]úh)rMixed Mode Manager
  5257.     ‚†°dONLNd]h%)|2-1°dONLNd#qú|Δ(yú
  5258. Figure 2-1°dONLNd.qÍ|ä)N$680x0 and PowerPC procedure pointersä@°dONLNdTqú|©)≤2-5°dONLNdX}úàΔ(Öú
  5259. Figure 2-2°dONLNdc}Íà®)N-Calling PowerPC code from a 680x0 application†°dONLNdí}ªà»)—2-9°dONLNdñâúîΔ(ëú
  5260. Figure 2-3°dONLNd°âÍîi)NThe stack before a mode switchÜ °dONLNd¡â{îç)ë2-10°dONLNdΔïú†Δ(ùú
  5261. Figure 2-4°dONLNd—ï͆)NA0°dONLNd“ï†s) 680x0-to-PowerPC switch frameÉ@°dONLNdÚïÖ†í)ï2-1Ÿ °dONLNdıïë†ñ) 1°dONLNd˜°ú¨Δ(©ú
  5262. Figure 2-5°dONLNd°Í¨)NA0°dONLNd°¨s) PowerPC-to-680x0 switch frameÉ@°dONLNd#°Ö¨ó)ï2-13°dONLNd(≠ú∏Δ(µú
  5263. Figure 2-6°dONLNd3≠Í∏G)NProcedure information f‡°dONLNdJ≠H∏£)^or a stack-based routiná°dONLNda≠£∏®)[eá–°dONLNdd≠∫∏Ã)2-17°dONLNdiπúƒΔ(¡ú
  5264. Figure 2-7°dONLNdtπ̓±)N2Procedure information for a register-based routineÜ °dONLNd®π√ƒ’)Ÿ2-19°dONLNd≠≈ú–Δ(Õú
  5265. Figure 2-8°dONLNd∏≈Í–A)NGeneral structure of aÉê°dONLNdŒ≈A–F)WnÑ`°dONLNdœ≈F–H) İdONLNd–≈I–ç)executable code  İdONLNd‡≈ç–™)Dresourc P°dONLNdÁ≈´–∞)e  °dONLNdÍ≈¬–‘)2-25°dONLNdÔ—ú‹Δ(Ÿú
  5266. Figure 2-9°dONLNd˙—Í‹s)N#General structure of a fat resourceÖİdONLNd—Ö‹ó)õ2-26°dONLNd$ÈúÙ√(Òú    Table 2-1°dONLNd.ÈÍÙd)NLimits on the number of specifiÑ¿°dONLNdMÈdÙ„)zable parameters in a procedure °dONLNdlÛͲ(˚Í informationP°dONLNdyÛ)˛;)?2-20°dONLNd~ ú»(ú Listing 2-1°dONLNdä Í)N$Sample glue code for a 680x0 routine 0°dONLNd∞ í§)®2-12°dONLNdµú"»(ú Listing 2-2°dONLNd¡Í"s)N#Creating global routine descriptorsÑ`°dONLNdÊÖ"ó)õ2-21°dONLNdÎ#ú.»(+ú Listing 2-3°dONLNd˜#Í.)N
  5267. Creating l °dONLNd#.n)'ocal routine descriptors¿°dONLNd#Ä.í)o2-22°dONLNd /ú:»(7ú Listing 2-4°dONLNd,/Í:p)N#Creating static routine descriptorsLJ°dONLNdQ/Ç:î)ò2-23°dONLNdV;úF»(Cú Listing 2-5°dONLNdb;ÍFq)N$Building a static routine descriptorÖ°dONLNdà;ÉFï)ô2-23
  5268. j*p¯4k*p¯ lúl¯
  5269. ˇ·ˇ‚7^
  5270. °dONLNdç^*jU(g*    Chapter 3
  5271. °dONLNdó_új)rCode Fragment Manager
  5272.     e`°dONLNdÆ_)j6)ç3-1°dONLNd≥sú~Δ({ú
  5273. Figure 3-1.°dONLNdæsÍ~à)N'Structure of a compiled code fragment (,
  5274. Courier°dONLNdÂsà~¶)û'cfrg'°dONLNdÎs¶~œ)
  5275. ) resource°dONLNd˜s·~Û);3-29.°dONLNd¸úäΔ(áú
  5276. Figure 3-2°dONLNdÍäÆ)N0The format of a code fragment information recordÜP°dONLNd9¿ä“)÷3-30°dONLNd>óú¢»(üú Listing 3-1°dONLNdJóÍ¢•)N-Pseudocode for the version-checking algorithm    `°dONLNdyó∏¢≈)Œ3-9°dONLNd}£úÆ»(´ú Listing 3-2°dONLNdâ£ÍÆx)N!Loading a resource-based fragment–°dONLNd¨£ãÆò)°3-1^∞°dONLNdØ£óÆú) 1°dONLNd±Øú∫»(∑ú Listing 3-3°dONLNdΩØÍ∫e)NLoading a disk-based fragmentP°dONLNd‹Øx∫Ö)é3-1^0°dONLNdflØÑ∫â) 1°dONLNd·ªúΔ»(√ú Listing 3-4.°dONLNd̪ÍΔÇ)N(The Rez input for a typical application’V°dONLNdªÇΔâ)òs V°dONLNdªâΔß)'cfrg'V°dONLNdªßΔÕ)     resourceV°dONLNd(ªflΔÒ)83-12.°dONLNd-«ú“»(œú Listing 3-5.°dONLNd9«Í“ä)N+The Rez input for a typical import library’V°dONLNdd«ä“ë)†s V°dONLNdf«ë“Ø)'cfrg'V°dONLNdl«Ø“±) .°dONLNdm—Í‹
  5277. (ŸÍresourceưdONLNdw—‹1)53-13°dONLNd|›úË»(Âú Listing 3-6°dONLNdà›ÍËD)NFinding symbol namesÇ@°dONLNdû›VËh)l3-14
  5278.  *¯4
  5279. *¯ ú¯
  5280. ˇ·ˇ‚7^
  5281. °dONLNd£* U(    *    Chapter 4
  5282. °dONLNd≠ú ˙)rException Manager
  5283.     G@°dONLNd¿
  5284.  )q4-1°dONLNd≈ú »(ú Listing 4-1°dONLNd—Í `)NInstalling an exception handle
  5285. P°dONLNdÔa c)wr    °dONLNdÚv É)4-6°dONLNdˆ!ú,»()ú Listing 4-2°dONLNd!Í,)NA0°dONLNd!,T) native exception handler
  5286. °dONLNd!f,s)v4-8ˇv@ˇ ˇˇˇˇ@
  5287. ˇ·ˇ‚7^
  5288. 4⁄∫˙, Palatino
  5289. ., (·ix
  5290.     3, Ã(#∫PREFN )3ACE 4^H¿
  5291. vHú4vHú óHó
  5292. ˇ·ˇ‚7^
  5293. ˇˇ¬òˇ◊°dONLNd\∫ui(n∫About This Book
  5294. °dONLNdú∫®Í*7 This book, @°dONLNdúή0)1Inside Macintosh˚@°dONLNd-ú0®5)E: ˚@°dONLNd/ú5®ù)PowerPC System Softwar8@°dONLNdEúû®°)ie‡°dONLNdFú¢®§),õ‡°dONLNdGú§®¶) ‡°dONLNdHúß®¯)describes the new °dONLNdZ©∫µ√(≤∫prG °dONLNd\©ƒµ!)
  5295. ocess execution envir°dONLNdq©"µú)^onment and system softwar∑@°dONLNdä©úµ“)z
  5296. e services prF¿°dONLNdó©”µ )7 ovided with °dONLNd£∂∫¬–(ø∫the fiÍ °dONLNd©∂–¬_)!rst version of the system softwarüİdONLNd ∂`¬v)êe for % °dONLNd–∂w¬µ)
  5297. Macintosh on —İdONLNd›∂µ¬◊)>PowerPmİdONLNd„∂ÿ¬Ê)#C ct¿°dONLNdÊ∂ʬ)
  5298. omputers. °dONLNd√∫œi(Ã∫'It contains information you need to knoÊİdONLNd√iœw)Øw tˇ‡°dONLNd√wœ˛)o write applications and other °dONLNd9–∫‹€(Ÿ∫softwar‰¿°dONLNd@–€‹ )! e that can r§¿°dONLNdL– ‹^)1un on PowerPC præ@°dONLNd\–^‹~)Rocessor" °dONLNdc–‹)!-based Macintosh computers.°dONLNd‚∫Ó”(Î∫The fi»Ä°dONLNdÖ‚”Ó‰)rst rİdONLNdä‚ÂÓ`)elease of the system softwarˆ`°dONLNd¶‚`Óµ){e for Macintosh on (`°dONLNdπ‚∂Óÿ)VPowerPƒ`°dONLNdø‚ÿÓ)" C computers °dONLNdÀÔ∫˚√(¯∫prG °dONLNdÕÔƒ˚L)
  5299. ovides a mixed or hybrid envir̆°dONLNdÎÔL˚Δ)àonment: the system softwar °dONLNdÔ«˚ÿ){e pr!‡°dONLNd    Ôÿ˚) ovides the °dONLNd¸∫æ(∫>ability to execute both applications that use the native instr” °dONLNdR¸æ(æuction set of the °dONLNdd    ∫˙(∫ PowerPC micr§†°dONLNdp    ˙    )@opr·@°dONLNds        ›)1ocessor and applications that use the 680x0 instrU`°dONLNd§    fi
  5300. )’ uction set. °dONLNd∞∫"*(∫It accomplishes this by prI¿°dONLNd +"u)qoviding a very ef°dONLNd€v"|)Kfi ¿°dONLNd›|"¸)cient 68LC040 Emulator that °dONLNd˘#∫/(,∫emulates 680x0 instrñİdONLNd
  5301. #/ç)Zuctions with PowerPC instrZ`°dONLNd'#é/≥)z    uctions. "°dONLNd0#≥/Ã)%As a rÎ@°dONLNd6#Ã/)esult, virtually °dONLNdG0∫<›(9∫Aall existing 680x0-based Macintosh applications and other softwar䇰dONLNdà0›<
  5302. (9›
  5303. e modules °dONLNdí=∫I(F∫that conform to the pry†°dONLNd®=I    )a2ogramming interfaces and techniques documented in °dONLNd⁄J∫V (S∫the ›`°dONLNdfiJ V)Inside Macintoshø`°dONLNdÓJVÃ)F* suite of books will execute without modifi;‡°dONLNdJÕV¯)Ω
  5304. cation on °dONLNd#W∫c(`∫
  5305. PowerPC prz °dONLNd-Wc)6ocessorfi°dONLNd4Wcë) -based Macintosh computers.°dONLNdPi∫u¿(r∫Tµ¿°dONLNdQiøu})'o take maximum advantage of the much gr †°dONLNdxi~u†)øeater pr0°dONLNdÄi†u)"ocessing speed of the ˇˇïª°dONLNdñv∫Ǣ(∫ PowerPC micr:[°dONLNd¢v˙Ç    )@oprv˚°dONLNd•v    Ç))ocessorK°dONLNd¨v)ÇT)     , howeverÌv°dONLNdµvSÇô)*, you’ll need to reb°dONLNd«vöÇ)Gecompile your application’s °dONLNd„É∫èÕ(å∫sour˛†°dONLNdÁÉÕèn)$ce code into a PowerPC application. ¿°dONLNd Éoè∫)¢Apple Computer©@°dONLNdÉπè›)J
  5306. , Inc., prêİdONLNd#É›è¸)$ovides °dONLNd*ê∫ú”(ô∫MPWr@°dONLNd-ê”úˆ)A-based C and C++ compilers and other tools that you can use to cr”`°dONLNdnêˆú
  5307. (ôˆeate °dONLNdsù∫©§(¶∫5native PowerPC applications. In general, if your sour ¿°dONLNd®ù§©‹)Íce code is alr"İdONLNd∂ù›©Ù)9eady °dONLNdª™∫∂ˇ(≥∫compliant with  °dONLNd ™∂F)FANSI C standar°dONLNdÿ™F∂î)Fds or the de facto 3@°dONLNdΙî∂Ê)NANSI C++ standarN†°dONLNd˚™Ê∂)Rds, you ˇˇ¥
  5308. °dONLNd∑∫√g(¿∫)should be able, with moderately little efAŒ°dONLNd,∑h√ã)Æ
  5309. fort, to r•(°dONLNd6∑ã√‘)#ework your sour¢"°dONLNdE∑‘√)Ice code so that °dONLNdUƒ∫–c(Õ∫'it can be compiled and built using the J†°dONLNd|ƒc–
  5310. )©$Apple-supplied tools into a PowerPC °dONLNd†—∫›g(⁄∫(application. This book is intended to pr ¿°dONLNd»—h›)Æ"ovide much of the information you °dONLNdÍfi∫Í…(Á∫>need to port your existing 680x0 application (or other softwarÀ‡°dONLNd(fi…ÍÔ(Á…
  5311. e) to the °dONLNd2Î∫˜(Ù∫PowerPC platform.
  5312. H4H,     Helvetica
  5313.     °dONLNdD∫Õ*Note
  5314. ˇ·ˇ‚7^
  5315. °dONLNdI∫Œ*Ther¿°dONLNdMœÓ)e will a⁄İdONLNdUÓ) lso be thirá¿°dONLNd`º),"d-party compilers and development °dONLNdÉ∫)—(&∫envirn†°dONLNdà—)û)+onments capable of generating PowerPC code.,
  5316.  
  5317. Zapf Dingbats
  5318.     °dONLNd¥ §(™)”u
  5319. °dONLNd∂.∫:(7∫Although the native r»Ä°dONLNdÀ.:Ç)_un-time execution envirP¿°dONLNd‚.É:…)jonment of the fi|İdONLNdÚ.…:)Frst version of the °dONLNd;∫G¸(D∫system softwarM‡°dONLNd;˝GI)Ce for PowerPC prÕ†°dONLNd#;IGi)Locessor1İdONLNd*;jGı)!-based Macintosh computers is °dONLNdHH∫T’(Q∫signifi˚°dONLNdOH’T˛)
  5320. cantly dif†‡°dONLNdYHˇT )*ferÉ`°dONLNd\H T") ent fr˘†°dONLNdbH"Tá)om the execution envir4°dONLNdxHàT )fonment of curr$†°dONLNdÜH T)Bent 680x0-based °dONLNdñU∫a—(^∫<Macintosh computers, you won’t need to worry about those dif`°dONLNd“U“afi(^“ferÛ‡°dONLNd’U›a˜) ences °dONLNd€b∫n0(k∫unless your existing code rµ‡°dONLNdˆb0np)velies on specifi ‡°dONLNd    bqnˆ)Ac information about the 680x0 °dONLNd    $o∫{˛(x∫execution envirìİdONLNd    3o˛{ñ)D"onment. For example, if for some r
  5321. ¿°dONLNd    Uoó{”)ô
  5322. eason you dir- °dONLNd    bo”{)<
  5323. ectly access °dONLNd    o|∫àO(Ö∫"information in your application’s P@°dONLNd    ë|Oà¡)ïA5 world, you’ll need to r{¿°dONLNd    ´|¡à˘)r
  5324. ewrite those °dONLNd    πâ∫ïfi(í∫@parts of code when porting your application to the PowerPC envir-†°dONLNd    ˘âflï(íflonment. °dONLNd
  5325. ñ∫¢‚(ü∫    Similarlyõ@°dONLNd
  5326.  
  5327. ñ·¢))', you’ll need to rº@°dONLNd
  5328. ñ)¢Û)H-ewrite any parts of your code that depend on °dONLNd
  5329. J£∫ØW(¨∫$data being passed in certain 680x0 r©¿°dONLNd
  5330. n£WØë)ù
  5331. egisters. VBLt¿°dONLNd
  5332. {£ëØ˝): tasks, for instance, very ˇÃ@ˇ ˇˇˇˇ@
  5333. ˇ·ˇ‚7^
  5334. 4⁄*˙¯, Palatino
  5335. .(·*x
  5336.     3, Ã(#úPREFN )3ACE 4^*¿¯
  5337. °dONLNd\úhv(eú2often depend on the fact that a pointer to the VBL`°dONLNd2\whí)€ task rÔ‡°dONLNd9\ëh£)ecord@°dONLNd=\§h‚)d is passed in °dONLNdLiúuü(rúrE°dONLNdMi†uø)egister „`°dONLNdUiøuŒ)A0.°dONLNdY{úáµ(ÑúThe fi»Ä°dONLNd_{µá)rst chapter in this book, qİdONLNdy{ á5)k“Intr®¿°dONLNd~{5á€)"oduction to PowerPC System Softwar·@°dONLNd†{€áÁ)¶e,”*‡°dONLNd£{ËáÍ)
  5338.  °dONLNd§àúî•(ëúprG °dONLNd¶à¶î{)
  5339. /ovides a general overview of the system softwar8@°dONLNd’à{îö)’e that r6†°dONLNd›àöîÊ)uns on PowerPC °dONLNdÏïú°•(ûúprG °dONLNdÓï¶°Δ)
  5340. ocessor´°dONLNdıïΔ°Ë) B-based Macintosh computers. It also describes in detail the mixed °dONLNd7¢úÆ≥(´úenvirn†°dONLNd<¢≥Æ·)    onment prưdONLNdE¢·Æ‘).2ovided by the 68LC040 Emulator and the Mixed Mode °dONLNdwØúª√(∏úManagerT†°dONLNd~Ø√ª)', as well as the new rÓ°dONLNdîØªZ)[
  5341. un-time envirQ`°dONLNd°Ø[ª)=onment used for native PowerPC °dONLNd¿ºú»÷(≈úapplications. F@°dONLNdŒº◊»›);Y¿°dONLNdœº›») ou should r◊İdONLNd⁄º»›)2/ead this chapter for general information about °dONLNd    …ú’Ù(“úporting your existinᆰdONLNd…Ù’)X    g softwar˚İdONLNd&…’'))e táİdONLNd)…(’É) o the PowerPC envir¸°dONLNd<…É’Ì)[onment. Even if you do °dONLNdS÷ú‚=(flú%not intend to port your existing 680xÍİdONLNdx÷=‚f)°    0 softwarœ@°dONLNdÅ÷f‚m))e,‡°dONLNdÉ÷n‚€) you might still want to r§°dONLNdù÷€‚Ì)mead °dONLNd°„úÔ8(Ïú$this chapter for information about r °dONLNd≈„9Ô€)ù!unning under the 68LC040 Emulatoró‡°dONLNdÊ„⁄Ô‹)°.°dONLNdËıú≥(˛úThe rÄ¿°dONLNdÌı≥G)!emaining chapters in this book pr‹ °dONLNdıGf)îovide r
  5342. †°dONLNdıgw) efer∂¿°dONLNdıw·)ence material for the thr° °dONLNd2ı·Ì)jee °dONLNd5úÙ( únew system softwarø‡°dONLNdGÙ8)Xe managers intrx`°dONLNdV9~)Eoduced in the fiä@°dONLNdf~Ï)Erst version of the system °dONLNdÄúΩ(úsoftwar‰¿°dONLNdáΩ    )!e for PowerPC prdİdONLNdó
  5343. *)Mocessor»`°dONLNdû*Æ) -based Macintosh computers. ¸¿°dONLNd∫Æ¥)ÑYΩ@°dONLNdª¥„)
  5344. ou should °dONLNd≈ú(ü(%úrE°dONLNdΔ†()ead these chapters for specifi∑‡°dONLNd‰(≈)&c information on using the services prZ†°dONLNd
  5345. Δ(ı)ß
  5346. ovided by °dONLNd)ú5Q(2ú&those managers. The new system softwar9@°dONLNd:)R5è)∂
  5347. e managers arı†°dONLNdG)è5ì)=e,
  5348.  
  5349. Zapf Dingbats
  5350. °dONLNdI?úF°(Eún
  5351. °dONLNdK<®H) the Mixed Mode ManagerÌ¿°dONLNda<H¨)r, which manages the mixed envir†°dONLNdÄ<≠H‹)ì
  5352. onment of °dONLNdäH®Tfi(Q®
  5353. PowerPC prz °dONLNdîHfiT˛)6ocessorfi°dONLNdõH˛TÉ) -based Macintosh computers rû†°dONLNd∑HÑTÛ)Üunning 680x0-based code
  5354. °dONLNdœ]úd°(cún
  5355. °dONLNd—Z®f') the Code Fragment ManagerÊ °dONLNdÍZ&f)~., which loads fragments (blocks of executable °dONLNdf®r∏(o®:PowerPC code and their associated data) into memory and pr‘@°dONLNdRf∏rÀ(o∏epare°dONLNdVfÃr)es them °dONLNd^r®~·({®
  5356. for execution
  5357. °dONLNdláúé°(çún
  5358. °dONLNdnÑ®ê) the Exception Manager$°dONLNdÉÑêÁ)f1, which handles exceptions that occur during the °dONLNd¥ê®úå(ô®2execution of PowerPC applications or other softwarßİdONLNdÊêåúê)‰e
  5359. ©*∑¯4™*∑¯,     Helvetica
  5360. °dONLNdË™ú≤ª(∞úIMPORTİdONLNdÓ™ª≤À)ANT
  5361. ˇ·ˇ‚7^
  5362. °dONLNdÚµú¡(æúSome of the system softwar«Ä°dONLNd µ¡Q)ye services intrQ°dONLNdµR¡ó)=oduced in the fib‡°dONLNd+µó¡”)Erst version of °dONLNd:¡úÕÔ( úthe system softwar´@°dONLNdL¡ÔÕ;)Se for PowerPC pr+°dONLNd\¡<Õ\)Mocessor釰dONLNdc¡\Õ›) -based Macintosh computers °dONLNd~ÕúŸÎ(÷úmight in the futur_‡°dONLNdêÕΟ∂)O-e be available on Macintosh computers that arqİdONLNdΩÕ∂ŸŒ)Àe not °dONLNd√ŸúÂ(‚úbased on the PowerPC micrÚ‡°dONLNd‹ŸÂ%)zopr/İdONLNdflŸ&ÂF)ocessor†°dONLNdÊŸF—) ". For example, it’s possible that °dONLNdÂúÒY(Óú(the Code Fragment Manager (and the entirưdONLNd0ÂYÒd)Ωe rÙ‡°dONLNd3ÂdÒ†)
  5363. un-time envirX@°dONLNd@°Ò≈)=onment °dONLNdGÒú˝d(˙ú-based on fragments) will be included in futur®°dONLNdtÒd˝œ)»e versions of the system °dONLNdç˝ú    Ω(úsoftwar‰¿°dONLNdî˝Ω    q)!'e for 680x0-based Macintosh computers. ñ†°dONLNdª˝q    ä)¥As a r_‡°dONLNd¡˝ã    ⁄)esult, some of the °dONLNd‘    úv(ú0information in this book might eventually be mor#@°dONLNd    w⁄)€e generally applicable °dONLNdú!M(ú*than the title of this book might suggest.
  5364. pİdONLNdFS Z)∑s
  5365. ˇˇÓ°dONLNdH&ú2¡(/ú    If you arflR°dONLNdQ&¡2Ú)% e new to prd=°dONLNd\&Û2’)2/ogramming for Macintosh computers, you should r‡Û°dONLNdã&’2˜)‚ead the °dONLNdì3ú?¥(<úbook ¿°dONLNdò3µ?')Inside Macintosh: OverviewU@°dONLNd≤3'?U)r  for an intr#¿°dONLNdæ3V?◊)/oduction to general concepts °dONLNd‹@úL‚(Iúof Macintosh prv°dONLNdÎ@‚L)F ogramming. 0İdONLNdˆ@L!)9YÒ°dONLNd˜@ Lg)ou should also r‹†°dONLNd    @gLÀ)Gead other books in the ]`°dONLNd    @ÃLÊ)eInside °dONLNd    %MúYΔ(Vú    MacintoshpİdONLNd    .M«Y)+ series for specifi‡°dONLNd    AMYÛ)J3c information about other aspects of the Macintosh °dONLNd    tZúf¢(cúTµ¿°dONLNd    uZ°f°)8oolbox and the Macintosh Operating System. In particular‘†°dONLNd    ≠Z°fÃ(c°
  5366. , to benefiİdONLNd    ∏ZÕfÎ),t most °dONLNd    øgús£(púfrò‡°dONLNd    ¡g£s!)om this book, you should alreİdONLNd    ›g"só)eady be familiar with the ré°dONLNd    ¯gós”)u
  5367. un-time envirÒ`°dONLNd
  5368. g”s˜)<onment °dONLNd
  5369. túÄÇ(}ú5of 680x0 applications, as described in the two books b@°dONLNd
  5370. AtÉÄ◊)ÁInside Macintosh: Pr°dONLNd
  5371. UtÿÄÛ)Uocesses
  5372. @°dONLNd
  5373. \tÙĈ) °dONLNd
  5374. ]ÅúçØ(äúand Ì °dONLNd
  5375. aÅØç)Inside Macintosh: Memory"`°dONLNd
  5376. yÅç)m.ˇ@ˇ ˇˇˇˇ@
  5377. ˇ·ˇ‚7^
  5378. 4⁄∫˙, Palatino
  5379. ., (·xi
  5380.     3, Ã(#∫PREFN )3ACE 4^H¿
  5381. ^Hx4^Hx
  5382. àHê4âHê äHä
  5383. ˇ·ˇ‚7^
  5384. ˇˇ©ˇÆ°dONLNduHàÛ(ÉHRelated DocumentationˇˇˇˇˇˇV˛(É0
  5385. °dONLNdô∫•%(¢∫This book is part of a larlİdONLNd1ô%• )k6ger suite of books that contain information essential °dONLNdg¶∫≤±(Ø∫5for developing PowerPC applications and other softwarx`°dONLNdú¶±≤µ)˜eB°dONLNdù¶∂≤∏).,
  5386.  
  5387. Zapf Dingbats
  5388. °dONLNdüº∫√ø(¬∫n
  5389. °dONLNd°πΔ≈À) F °dONLNd¢πÃ≈)Hor information about the PPCC compiler that you can use to compile your °dONLNdÍ≈Δ—Ÿ(ŒΔsour˛†°dONLNdÓ≈Ÿ—±)0ce code into a PowerPC application, see the bookİdONLNd≈≤—¯)Ÿ C/C++ Compiler≤@°dONLNd-≈¯—˙)F 2@°dONLNd.≈˚—)for °dONLNd2—Δ›Î(⁄ΔMacintospİdONLNd:—Ï›¸)&h W. °dONLNd=—˝›)ith P°dONLNdB—›))owerPp`°dONLNdG—*›0)C‡°dONLNdH—1›3).
  5390. °dONLNdJÊ∫Ìø(Ï∫n
  5391. °dONLNdL„ΔÔÀ) F °dONLNdM„ÃÔZ)or information about the PPCAsÖ °dONLNdk„ZÔj)ém aŸ °dONLNdn„jÔë)ssembler_†°dONLNdv„ëÔœ)', see the book è°dONLNdÖ„œÔ)>Assembler for °dONLNdìÔΔ˚Î(¯ΔMacintospİdONLNdõÔÏ˚¸)&h W. °dONLNdûÔ˝˚)ith P°dONLNd£Ô˚))owerPp`°dONLNd®Ô*˚0)C‡°dONLNd©Ô1˚3).
  5392. °dONLNd´∫ ø(
  5393. ∫n
  5394. °dONLNd≠Δ
  5395. À) F °dONLNdÆÃ
  5396. ¯)@or information about debugging and measuring the performance of °dONLNdÓ
  5397. Δc(Δ"PowerPC applications, see the bookV@°dONLNd
  5398. df)û ÷@°dONLNd
  5399. fã)MacintosΔ¿°dONLNd
  5400. åì)&h F¿°dONLNd
  5401. î”)Debugger ReferY°dONLNd)
  5402. ”‰)?ence¡@°dONLNd-
  5403. ‰Ê).
  5404. °dONLNd/"∫)ø((∫n
  5405. °dONLNd1Δ+À) F °dONLNd2Ã+f)!or information about performing fl@°dONLNdTf+
  5406. )ö%oating-point calculations in PowerPC °dONLNdy+Δ7:(4Δapplications, see the book £@°dONLNdî+:7’)t"Inside Macintosh: PowerPC Numerics˘Ä°dONLNd∂+’7◊)õ.
  5407. °dONLNd∏@∫Gø(F∫n
  5408. °dONLNd∫=ΔIÀ) F °dONLNdª=ÃI )For information about building PowerPC applications and other kinds of °dONLNdIΔU(RΔPowerPC softwar¿°dONLNdIU)Ne·`°dONLNdIUå) for Macintosh computers,İdONLNd*IçUü)u see —¿°dONLNd/IüUœ) Building Pr≥@°dONLNd:IœU¸)0 ograms for °dONLNdEUΔa¸(^Δ Macintosh W. °dONLNdPU˝a
  5409. )7ith …@°dONLNdTU
  5410. a))
  5411. PowerPp`°dONLNdZU*a0) C‡°dONLNd[U1a3).
  5412. gHÇ4hHÇ
  5413. íHö4ìHö îHî
  5414. ˇ·ˇ‚7^
  5415. ˇˇ©ˇÆ°dONLNd^Hí®(çH
  5416. Format of a T™∫°dONLNdkßí)_ypical ChapterˇˇˇˇˇˇV˛(ç0
  5417. °dONLNd{£∫Øê(¨∫1Almost all chapters in this book follow a standar’`°dONLNd¨£êا)÷d strœ °dONLNd±£§Øª)ucturU°dONLNd∂£ºØ)e. For example, the °dONLNd ∞∫º≥(π∫5chapter “Mixed Mode Manager” contains these sections:
  5418. °dONLNdΔ∫Õø*n
  5419. °dONLNd√ΔœÀ) “°dONLNd√Àœ\)About the Mixed Mode Manager{†°dONLNd√\œ)ë).” This section describes the Mixed Mode °dONLNdHœΔ€Ì(ÿΔManagerT†°dONLNdOœÌ€Ú)'. '°dONLNdQœÚ€¯)YÁİdONLNdRœ˜€)) ou should r∏@°dONLNd]œ*€˘)30ead this section for a general understanding of °dONLNdé€ΔÁˇ(‰ΔAwhat the Mixed Mode Manager does and when you might need to call °dONLNd–ÁΔÛ˜*
  5420. it explicitlyʆ°dONLNd›ÁˆÛ¯)0.
  5421. °dONLNdfl¸∫ø(∫n
  5422. °dONLNd·˘ΔZ) “Using the Mixed Mode Manager∫‡°dONLNd˛˘Z§)î.” This section prǰdONLNd˘•ˇ)Kovides detailed instrû °dONLNd%˘ˇ )Zuc-°dONLNd)Δz(Δ%tions on using the Mixed Mode Manager@°dONLNdNy~)≥. ¬†°dONLNdP~Ñ)YÉ °dONLNdQÑ∂) ou should rS‡°dONLNd\∑)3ead this section if °dONLNdpΔN(Δyou need to use the services pru°dONLNdèN)à ovided by the Mixed Mode Manager˛¿°dONLNdØÔÒ)°.
  5423. °dONLNd±&∫-ø(,∫n
  5424. °dONLNd≥#Δ/G) “Mixed Mode Manager Refer'‡°dONLNdÃ#H/¶)Çence.” This section pr√‡°dONLNd‚#¶/¯)^ovides a complete °dONLNdÙ/Δ;…(8ΔrE°dONLNdı/ ;⁄)eferÒ °dONLNd˘/⁄;[)ence to the constants, data strû†°dONLNd/\;s)Çuctur$İdONLNd/t;ô)    es, and r]@°dONLNd&/ô;≈)%
  5425. outines pr#¿°dONLNd0/Δ;)-ovided by the °dONLNd>;ΔG((DΔMixed Mode Managerê`°dONLNdP;(GH)b. Each r2¿°dONLNdX;IG¸)!)outine description also follows a standarFİdONLNdÅ;¸G)≥d °dONLNdÉGΔS(PΔformat, which pr·°dONLNdìGSA)J esents the rØ@°dONLNdüGBS)2-outine declaration followed by a description °dONLNdÕSΔ_<(\Δof every parameter of the rÅ`°dONLNdËS<_|)voutine. Some r[†°dONLNdˆS|_¸)@outine descriptions also give °dONLNd_Δkë(hΔ/additional descriptive information, such as cir†°dONLNdC_ëk)Àcumstances under which you °dONLNd^kΔw (tΔcannot call the rÆ@°dONLNdok w:)F outine or r¿°dONLNdzk;wn)/ esult codes.
  5426. °dONLNdáÄ∫áø(Ü∫n
  5427. °dONLNdâ}Δâw) "“Summary of the Mixed Mode Manager'¿°dONLNd´}wâ¡)±.” This section prÓ‡°dONLNdΩ}¡â˙)J
  5428. ovides the C °dONLNd âΔïb(íΔ&interfaces for the constants, data strfl‡°dONLNdâbïy)úucture¿°dONLNdıâzïã)es, r1`°dONLNd˙âåï»)outines, and r‚‡°dONLNdâ»ï˚)< esult codes °dONLNdïΔ°(ûΔ&associated with the Mixed Mode Manager∞¿°dONLNd:ï°Ñ)π. ˇX@ˇ ˇˇˇˇ@
  5429. ˇ·ˇ‚7^
  5430. 4⁄*˙¯, Palatino
  5431. .(·*xii
  5432.     3, Ã(#úPREFN )3ACE 4^*¿¯
  5433. ^*x¯4^*x¯
  5434. à*ê¯4â*ꯠä*ä˛
  5435. ˇ·ˇ‚7^
  5436. ˇˇ©ˇÆ°dONLNdu*à
  5437. (É*Conventions Used in This BookˇˇˇˇˇˇV˛(É0
  5438. °dONLNdôú•·(¢úInside Macintoshb°dONLNd/ô‚•k)F uses various conventions to pr熰dONLNdNôk•»)âesent information. W¬°dONLNdbô«•–)\or¸Ä°dONLNddô–•)    ds that °dONLNdl¶ú≤ü(ØúrE°dONLNdm¶†≤∑)equir\@°dONLNdr¶∑≤Ê) e special trw°dONLNd~¶Ê≤U)/eatment appear in specifiú¿°dONLNdó¶U≤÷)o c fonts or font styles. Certain °dONLNd∑≥úøD(ºú%information, such as parameter blocks1°dONLNd‹≥Eø~)©, appears in s%@°dONLNdÍ≥øÛ):pecial formats so that you °dONLNd¿úê(…úcan scaÓ‡°dONLNd ¿ªÃ—)n it qÑ °dONLNd¿“ÃÌ)uicklyŒ¿°dONLNd¿ÏÃÓ).
  5439. Ò*¯¯4Ú*¯¯ ÛúÛ(
  5440. ˇ·ˇ‚7^,     Helvetica
  5441. ˇˇ‹.ˇ◊°dONLNd‚úÒÓ(Ìú
  5442. Special Fontsˇˇˇˇˇˇ€r(Ì0
  5443. °dONLNd)¯úÏ(úAll code listings, r~ °dONLNd=¯Ï")P eserved worfi °dONLNdH¯"æ)6$ds, and the names of actual data str’°dONLNdl¯æ’)úucturZ‡°dONLNdq¯÷‰)es, .°dONLNduú—(ú constants, fi°dONLNdÇ—9)5elds, parameters, and rR`°dONLNdô9e)h
  5444. outines ar$¿°dONLNd£eæ),e shown in Courier (,
  5445. Courier$¿°dONLNd∑æÓ)Ythis is °dONLNdøúΔ(úCourier°dONLNdΔΔÕ)*)..°dONLNd…$ú0¶(-úWï°dONLNd $•0Æ)    orœÄ°dONLNdÃ$Æ0˚)    ds that appear in ¯†°dONLNdfi$˚0")Mboldfaceg°dONLNdÊ$#0.)( ar¨°dONLNdÈ$.0¥) e key terms or concepts and ar˘‡°dONLNd$¥0Ã)Üe defi5†°dONLNd
  5446. $Õ0Î)ned in °dONLNd1ú=¨(:úthe ›`°dONLNd1¨=±)glİdONLNd1≤=—)lossaryΔ °dONLNd 1—=5) at the end of this book†‡°dONLNd816=8)e. ‡°dONLNd919=Ù)+ Note that numerical entries (for example, °dONLNdd>úJ–(Gú 32-bit clean˜@°dONLNdp>–Jfi)4) arê °dONLNdt>flJ)e sorted befor@°dONLNdÇ>J§)="e all alphabetical entries in the á@°dONLNd§>§J©)àg`°dONLNd•>™JÍ)lossary and in °dONLNd¥KúW¨(Túthe ›`°dONLNd∏K¨WÆ)i≈¿°dONLNdπKØW«)ndex.
  5447. |*ɯ4}*ɯ ~ú~(
  5448. ˇ·ˇ‚7^
  5449. ˇˇ‹.ˇ◊°dONLNdømú|§(xúT$é°dONLNd¿m§|˜)
  5450. ypes of Notesˇˇˇˇˇˇ€r(x0
  5451. °dONLNdœÉúè∞(åúTher¿°dONLNd”ɱè¡)e ar`°dONLNd◊É¡èL)!e several types of notes used in ¡@°dONLNd¯ÉLèë)ãInside Macintosh£@°dONLNdÉíèî)F.
  5452. ù*´¯4û*´¯
  5453.     °dONLNd
  5454. úúߨ(§úNote
  5455. ˇ·ˇ‚7^
  5456. °dONLNd©úµ£*A∫†°dONLNd©£µq)2 note like this contains information that is inter"°dONLNdB©rµÿ)œesting but possibly not °dONLNdZµú¡Ÿ(æúGessential to an understanding of the main text. (An example appears on °dONLNd°¡úÕ≥* page Z‡°dONLNd¶¡¥Õ¡)1-6Æ¿°dONLNd©¡¡ÕΔ)
  5457. .),
  5458.  
  5459. Zapf Dingbats
  5460. dž°dONLNd¨ƒÃÓ) u
  5461. ⁄*˯4€*˯°dONLNdÆ€ú„ª(·úIMPORTİdONLNd¥€ª„À)ANT
  5462. ˇ·ˇ‚7^
  5463. °dONLNd∏ÊúÚ£(ÔúA∫†°dONLNdπÊ£Ú°)> note like this contains information that is essential for an °dONLNd˜Úú˛ò(˚ú7understanding of the main text. (An example appears on <†°dONLNd.Úô˛∞)˝page İdONLNd3Ú±˛√)1-19k`°dONLNd7Ú√˛»).)
  5464. ?@°dONLNd:ıŒ˝’) s
  5465.  *¯4 *¯
  5466. °dONLNd<
  5467. àê(às
  5468. °dONLNd= ú•)WúİdONLNd> •–)    ARNING
  5469. ˇ·ˇ‚7^
  5470. °dONLNdEú#¶( úWï°dONLNdF•#G)    'arnings like this indicate potential pr*‡°dONLNdmH#’)£oblems that you should be awar…@°dONLNdã’#‹)çe °dONLNdç#ú/O(,ú)of as you design your application. Failur^†°dONLNd∂#O/ø)≥e to heed these warnings °dONLNd–/ú;ª(8úcould r∂°dONLNd◊/ª;h)*esult in system crashes or loss of data. (D†°dONLNd/i;‘)ÆAn example appears on °dONLNd;úG≥(Dúpage Z‡°dONLNd;¥G¡)1-8Æ¿°dONLNd;¡GΔ)
  5471. .)
  5472. dž°dONLNd">ÃF”) s
  5473. k*r¯4l*r¯ múm(
  5474. ˇ·ˇ‚7^
  5475. ˇˇ‹.ˇ◊°dONLNd$\úk(gúBit Numbering and Wö*°dONLNd7\kP)Çord Sizeˇˇˇˇˇˇ€r)“0
  5476. °dONLNdArú~ı({úThis book departs frㆰdONLNdUrı~ç)Y!om the conventions followed in pr¶`°dONLNdvrç~¨)òevious 8@°dONLNd}r≠~Ú) Inside Macintosh@°dONLNdçrÛ~ı)F °dONLNdéúã«(àú
  5477. books in r=İdONLNdò»ã€),egar[@°dONLNdú€ã¿)5d to the numbering of bits within a range of data. Pr°dONLNd—¡ãÊ)ÊeviouslyㆰdONLNdŸÂãÍ)$, °dONLNd€åúòc(ïú/for example, the bits in a 32-bit data type wer$ °dONLNd
  5478. ådòé)»e number0İdONLNdåéòƒ)*ed 0 to 31, frf†°dONLNd åƒò˜)6 om right to °dONLNd,ôú•™(¢úleft»@°dONLNd0ô™•Ê), as shown in Î@°dONLNd>ôÊ•˛)<Figuræ°dONLNdCô˛•)e P-1e °dONLNdHô•w) on the following pageì¿°dONLNd^ôw•y)c.¿°dONLNd_ôz•¡) The least signifi˚‡°dONLNdqô¡•ˆ)Gcant bit of a °dONLNd¶ú≤ (Øú32-bit data type was addr °dONLNdò¶
  5479. ≤£)q#essed as bit 0, and the most signifi8‡°dONLNdº¶£≤⁄)ñ
  5480. cant bit was °dONLNd…≥úø±(ºúaddr|İdONLNdÕ≥±øt)-essed as bit 31. This convention was in accorˇ °dONLNd˙≥tø‡)√dance with that used by ˇ∂z@ˇ ˇˇˇˇ@
  5481. ˇ·ˇ‚7^
  5482. 4⁄∫˙, Palatino
  5483. .Ñ`(·xiii
  5484.     3, Ã(#∫PREFN )3ACE 4^H¿
  5485. °dONLNd\∫h’(e∫MotorÁ†°dONLNd\’hÃ)ola in the books documenting their 680x0 family of micr¬°dONLNd<\Ãh€)˜opr˛†°dONLNd?\€h)ocessors (for °dONLNdMi∫uÙ(r∫
  5486. example, the W¿°dONLNdZiıuP);MC68040 32-Bit Micr˝†°dONLNdmiPu])[opr#‡°dONLNdpi^uê) ocessor Userı@°dONLNd|iêuí)2’/‡°dONLNd}iìuπ)s Manual…¿°dONLNdÖiπuæ)&).
  5487. ïH¶4ñH¶ ñHñ‘
  5488. ˇ·ˇ‚7^,     Helvetica
  5489.     °dONLNdàã∫ñÂ(ì∫
  5490. Figure P-1°dONLNdìã¸ñM)B680x0 bit numbering
  5491. °dONLNd®∫
  5492. y(
  5493. ∫/In this book, the bits in a 32-bit data type ar∑‡°dONLNd◊y
  5494. £)øe numberƒ@°dONLNdfl£
  5495. Ÿ)*ed 0 to 31, fr˙`°dONLNdÌŸ
  5496. )6 om left to °dONLNd¯∫(∫right. The most signifi˝Ä°dONLNd∑)a&cant bit of a 32-bit data type is addr ¿°dONLNd5∏
  5497. )ùessed as bit 0, and °dONLNdI∫'¸($∫the least signifi    ¿°dONLNdZ˝'?)Ccant bit is addr‚°dONLNdj>')A/essed as bit 31. This convention, illustrated i>@°dONLNdô'    )√n °dONLNdõ(∫4“(1∫FigurR¿°dONLNd†(“4Á)e P-2˘‡°dONLNd•(Á4È),y‡°dONLNd¶(Í4)  is in accorÙ°dONLNd≤(4˚).1dance with the bit-numbering conventions used by °dONLNd„5∫A’(>∫MotorÁ†°dONLNdË5’A’)ola in the books documenting the PowerPC family of micrq`°dONLNd5÷AÂ(>÷oprưdONLNd"5ÂA )    ocessors °dONLNd+B∫N(K∫(for example, the Á†°dONLNd=BNn)MPowerPC 601 RISC MicrÛ†°dONLNdRBnN{)gopr‡°dONLNdUB|NÆ) ocessor UserÎ@°dONLNdaBÆN∞)2’%‡°dONLNdbB±N◊)s Manualø¿°dONLNdjB◊N‹)&).
  5498. oHÄ4pHÄ pHp‘
  5499. ˇ·ˇ‚7^
  5500.     °dONLNdme∫pÂ(m∫
  5501. Figure P-2°dONLNdxe¸p5)B
  5502. PowerPC bit n¿°dONLNdÖe6p[):umbering
  5503. ˇˇ Y°dONLNdè⁄∫Ê(„∫In addition, ther¯r°dONLNd†⁄Ê)Ge ar—k°dONLNd§⁄Ê$)e difƒ°dONLNd©⁄%Ê1)ferÚD°dONLNd¨⁄0Ê) 0ences between 680x0 and the PowerPC terminology °dONLNd‹Á∫ÛÕ(∫>to describe the sizes of certain memory operands, as shown in \°dONLNdÁŒÛ‘(ŒTë¿°dONLNdÁ”Ûˆ)able P-1®‡°dONLNd#ÁˆÛ¯)#.(‡°dONLNdˇˇ) °dONLNdÈü∫´¿(®∫Tµ¿°dONLNdÍüø´9)o avoid confusion, however÷ °dONLNdü9´
  5504. )z3, this book generally uses bytes to give the sizes °dONLNd7¨∫∏(µ∫of objects in memory›`°dONLNdK¨∏)[.
  5505. H4H ∫F
  5506. ˇ·ˇ‚7^
  5507.     °dONLNd& ∫‚(∫    Table P-1°dONLNd0 ¯c)>Sizes of memory operands°dONLNdI$∫/Ã(,∫Size–¡°dONLNdN$ı/D);680x0 terminologyÛ°dONLNd`$]/∫)hPowerPC terminology
  5508. °dONLNdu5∫A—(>∫8 bits–¡°dONLNd|5ıA);ByteÛ°dONLNdÅ5]Ap)hByte°dONLNdáG∫Sÿ(P∫2 bytes–¡°dONLNdèGıSˇ);W¡°dONLNdêG˛S)    or A°dONLNdíGS)
  5509. dÛ°dONLNdîG]SÑ)UHalf worí<°dONLNdúGÖSã)(d°dONLNdüY∫eÿ(b∫4 bytes–¡°dONLNdßYıe );Long wor‘°dONLNdØY e&)+dÛ°dONLNd±Y]eg)=W°dONLNd≤Ygep)
  5510. orBú°dONLNd¥Ypev)    d°dONLNd∑k∫wÿ(t∫8 bytes–¡°dONLNdøkıw );N/AÛ°dONLNd√k]wë)h
  5511. Double worx°dONLNdÕkíwò)5d°dONLNd–}∫â›(Ü∫16 bytes–¡°dONLNdŸ}ıâ );N/AÛ°dONLNd›}]âä)hQuad wor\°dONLNdÂ}ãâë).d
  5512. ¶HÏ4•E¶Fò@@ˆ@ˆ¶FÊ<¡¡¡”ˇ‡Ò”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒò@@Ĉ@ĈÊF&<”ˇÒ”ˇÒ”ˇÒ”ˇÒ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ˛>>:0èÀ ˛DHQÀ ˛ÑàBÀ ˛""ÄàÑÀ ˛<=À ˛ !‡àÀ ˛@A àÀ ˛@A !    À ˛˛‡¿~À¡¡¡˛? ‡0 ·Ä0@÷˛˛1@$˛‘˛˛ A$@D ‘˛"oec  pƒrD8¸≥+cÜ≥±‡ÿ˛<2$ÑÉ¿ âHTÑ$PI$íIAJ@ÿ˛$R$â ä(ààDêI$îRBJ@ÿ˛@LI@ä(îàD†íI$\ÇëÄÿ˛@òKÑ@íIêI(ñY,ëÑï◊˛‡|5‡aÜ"`p–ô©7ÉõÄÿ ˝"Ò@ÿ ˝"Ò@ÿ ˝ÒÄÿ˛>«˛
  5513. «˛«
  5514. ˛"≥¶0…
  5515. ˛<DäJH…
  5516. ˛ IPê…
  5517. ˛@éꇅ
  5518. ˛@àî≤à…
  5519. ˛‡áLp…¸ «¸†«¸¿«˛:˛– ˛˛>:’˛D˛ ˝à˛D’˛D  ˝à˛Ñ’˛#'Û[?ímåô&∞"Ä’˛)D§Äâíí‚I)@=‘˛    $I$ÄQ$ï$IR@!‘˛âBéIQ(µ$8K\ÄA‘˛à…®…DR*Ÿ,"çëÄA’péGIãå$ê‘á    懒ò@ÄúˆÄúˆ&FB<˝Ä˝@˛Äœ˛˝@Œ ˛˝ÄÀ˛?˝ Ü ˛    `0¿0›˛˚I0˚ √¸›˛˙Q@˛@ ˛› ˛"≥mÜo1ëpxcY¸2YΔ«Ü5ü¿„¿fl ˛<DíI*Hà$ë$§JI(ÇIJA$• fl ˛$HíRDêéà%$êîR(ÇQ"I)I fl ˛@â$úH‡ÇàEIîú(ÑQ$êÇNr fl ˛@âd±íà     êI$Àd$±IíL∂BXΔ@fl ˛‡Ü§Œ~r0`p√L∏NAÜ 4ÀÅß;ÄflÙÄ˚@¸fiÙÄ˚ĸfiı¿˘¸fi¡¡¡¡¡¡¡¡¡¡¡¡˛ :¸¿–òň@ˆHHÅ:x.˛Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5520. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5521. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5522.  
  5523.  
  5524.  ˛êêê@ˆ¶FÊ<'ÅÅÅãÅÅÅãÅÅÅã˛ÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎwÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎܲÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÅÅãÎÎá˛ÎÅÅãÏÎá˛ÏÅÅãÎÏá˛ÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÅÅãÎÎá˛ÎÅÅãÏÎá˛ÏÅÅãÎÏá˛ÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÌˇˇ˝ˇÅŪˇˇÓÎÎá!˛ÎÓˇˇˇˇÅꎎÔÏÎá˛ÏΡ˛ˇÅꎎÔÎÏá˛ÎÏˇˇ˛ˇÅꎎÔÏÎá!˛ÎÓˇˇ˛ˇÅꎎÔÎÎá˛ÏÌˇˇ˝ˇÅŪˇˇÓÎÏá˛ÎÅÅãÎÎá˛ÎŎŎ´ˇÚÏÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎá˛ÎŎŎ™ˇÛÏÎá˛ÏÔŎŎ´ˇÛÎÏá˛ÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÅÅãÎÎá˛ÎÅÅãÏÎá˛ÏÅÅãÎÏá˛ÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÅÅãÎÎá˛ÎÅÅãÏÎá˛ÏÅÅãÎÏáòň@ĈHHÅ:t.ˇÄ˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5525. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5526. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5527.  
  5528.  
  5529.  ˛êêê@ĈÊF&<'˛ÎÅÅãÏÎá˛ÎÅÅãÎÎáIJÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎxÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏá|˝Ï˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎáÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅã4Áˇ˛˛ˇ˛ˇ˛˛ˇ˛ˇ˛ˇˇ˛ˇ˛˙˛ˇˇ¯˛ˇ˛˛ˇ˛ÅÅÅ€6Êˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇ˙ˇ¯ˇˇˇ˛ˇÅÅÅ€0Êˇ˛ˇ˛ˇ˛ˇˇ˝ˇˇ˛ˇ˙ˇıˇ˝ˇÅÅÅ⁄.Áˇ˛ˇ˛ˇ˛ˇˇ˙ˇ˛ˇ˚ˇıˇ˝˛ÅÅÅŸ(Á˝ˇ˝˝ˇˇ˙ˇ˝ˇ˚ˇ˜ˇˇ¸ˇÅÅÅŸ/Áˇ˙ˇ˝ˇ˙ˇ˛ˇ˛ˇ˛ˇ˝˛ˇ¸ˇ˛ˇÅÅÅÿ(ˡ˙ˇ¸˛˙˛˛˛˚ˇÙˇ˛ˇÅÅÅÿ2ˡ˙ˇ¸ˇ˛ˇ˛ˇˇ˙ˇ˝ˇ˝ˇˇ˛ˇÅÅÅ◊&È˛ˇ¸˛ˇ¸˛ˇ¸ˇˇ˙˚ˇ˚ˇˇ˝ˇÅÅÅ◊ÅÅÅãÅÅÅãÅÅÅãCÁˇ˛˛ˇ˛ˇÊˇ˛˛ˇ˙ˇ˛˘ˇˇ˛ˇ˝˛ˇ˜˛ˇ¸ˇ˛¸ˇÂˇ˛Ú˛ÅÅ≥<Êˇ˛ˇ‚ˇ˛ˇ˙ˇ˚ˇˇ˛ˇ˛ˇˇˇ˘ˇˇ¸ˇfiˇÅÅ£<Êˇfiˇ˛ˇ˙ˇ¸ˇ¸ˇˇˇ˛ˇ˙ˇ˛ˇ˝ˇ¯ˇËˇÅÅ¢ëÁˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇ˚ˇ˛ˇ˙ˇ˚˛ˇˇ˝ˇ˛˛˛˛˛ˇˇˇ˛˛˛˝˛ˇ˛ˇ˛˛ˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇ˛˛ˇ˝˛ˇˇˇˇ˛ˇˇˇ˛ˇˇ˛ˇÅÅæâÁ˝ˇ˝ˇˇˇ˛ˇˇˇ˝ˇˇ¸˝ˇ˘ˇ¸ˇ˛ˇˇˇˇ˝ˇˇˇˇ˝ˇ˝ˇˇ˛ˇˇ¸ ˇˇˇˇˇˇˇˇˇˇˇˇ¸
  5530. ˇˇˇˇˇÅÅΩîÁˇˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇ˚ˇ˝˛ˇ˝ˇ¸ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇ˛ˇ˝ˇ˛ˇˇˇ¸ˇˇˇˇˇˇˇˇ˛ˇˇˇˇ˝ ˇˇˇˇˇÅÅΩáˡ˙ˇˇˇ˛ˇˇ˛˝˛ˇ˚ˇˆˇ˚ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇ˝ˇ˛ˇˇˇ¸ˇ˛ˇˇˇ˛ˇˇ˛ˇ˛ˇˇˇ¸ˇˇ˛˛˛ˇÅźåˡ˚ˇˇˇ˝ˇˇˇˇ˝ˇ˛ˇ˝ˇˆˇ˚ˇˇˇˇˇˇ˛ˇˇˇˇˇ¸ ˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇ˝
  5531. ˇˇˇˇˇÅŪvÈ˛ˇ˚¸ˇ˝ˇˇˇˇ¸˛ˇ˝˛ˇ¯˛ˇ˚ˇˇ˝ˇˇ˝ˇˇ˛ˇ˛ˇˇˇ˚˛ˇ˝ˇˇˇ˝ˇˇˇˇˇˇˇˇˇˇ˛ˇ˝˛ˇˇ¸˛ˇˇˇ˛ˇÅźflˇ˛ˇÅ˚˛˛˛ÅÅΩflˇ˛ˇÅ˚ˇ˛ˇÅÅΩfi˛ˇÅ˘˛ˇÅźÁˇ˛˛ˇÛˇˇÅÅÅ∫Êˇ˛ˇıˇˇÅÅÅ∫Êˇ˛ˇıˇÅÅÅ∏-Áˇ˛    ˇˇˇˇˇˇ˛ ˇˇ˛ˇˇˇ˛ˇ˛ˇˇÅÅÅ«+Á˝ˇ˛ˇ˛ˇˇ˛ˇˇˇˇˇˇˇÅÅÅ»)Áˇ˚ˇˇˇ˛ˇˇ˛ˇˇ˝ˇˇÅÅÅ«$ˡ˚ˇ˛˛ˇ˝˛ˇˇ˛˝˛ˇÅÅÅΔ,ˡ˚ˇ˛ˇ˛ˇˇˇˇˇˇˇˇ˛ˇÅÅÅ»&È˛ˇ¸ˇ˝˛ˇ˛
  5532. ˇˇˇˇˇˇ˛˛ˇÅÅÅ« ◊ˇÅÅÅ∂ŸˇˇÅÅÅ∂
  5533. ŸˇˇÅÅŵ2Áˇ˛ˇˇ·˛ˇˇ˛˘ˇˇ‡˛˛ˇ˛„ˇ˛˛ˇ˛ˇ˛ˇˇÅÅ™2ˡ˛ˇ·ˇ˛ˇ˘ˇˇflˇ˛ˇ„ˇ˛ˇˇ˛ˇÅÅ©6ˡ˛ˇıˇÓˇ˛ˇ˘ˇˇ‡ˇ˛ˇ„ˇ˛ˇˇ˝ˇÅÅ©xÁˇ˛ˇˇˇ˛˛ˇ˛ˇˇˇˇ˛ˇˇˇˇ˙ˇ¸˛ˇ˛˛ˇ˛˛ˇˇˇ˛ˇˇ˛ˇˇ˛ˇ˛¯ˇ˛ˇ˛ˇˇˇˇˇˇ˛ˇˇˇˇ˚ˇ˛ˇˇÅŧrÊˇ˛
  5534. ˇˇˇˇˇ˛ ˇˇˇˇˇ˙ˇ˛ˇˇ˛ˇˇˇˇˇˇˇˇ˝ˇˇ˘˝ˇ˛ˇˇˇˇˇˇˇˇ˘˝ˇˇÅÅ£r    ˇˇˇˇ˛ˇˇˇˇˇˇ˘ˇˇ˛ˇˇˇˇˇˇˇ˛ˇˇ˛ˇˇ¯ˇ¸ˇ˛ˇˇˇˇˇˇˇ˘ˇ˝ˇÅÅ£tÈˇ˛ˇ˛ˇ˝ˇˇ˛˛ˇˇˇ˛¸ˇ˛ˇ˛˛˛ˇˇ˛
  5535. ˇˇ˛ˇ˛ˇˇ˝ˇ˛ˇ¯ˇ˚ˇ˛ˇˇˇ˛ˇ˛ˇˇˇ˘ˇ¸˛ÅÅ£~Èˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛    ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇ˙ˇ˚ˇˇ˛ˇˇˇˇˇ˛ˇˇ˘ˇ¸ˇ˛ˇÅÅßp͡˛ˇ˝ˇ˛˛ˇˇ˛˛ˇˇˇˇˇ˛ˇ˛ˇ˛ˇˇ˝    ˇˇˇˇ˝ˇˇˇˇ¸˛ˇˇ˝˛ˇ˚ˇˇ˝ˇˇ˝˛ˇˇ˙˛ˇ¸˛ˇÅŶòňÄúˆHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5536. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5537. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5538.  
  5539.  
  5540.  ˛êêêÄúˆ&FB<'·ˇŸ˛„ˇÅÅÅÙ‰ˇˇ⁄ˇˇ‰ˇÅÅÅÛ‰ˇˇŸˇˇÅÅÅ‘BÁˇ˛˛ˇ˛flˇÌ˛ˇ˝ˇˇ¸ˇˇ˛Âˇ˝ˇˇÚˇ˛˝ˇˇ˛Îˇ˛ÅÅÁ1Êˇ˛ˇÀ
  5541. ˇˇˇˇˇˇÀˇÙˇˇ˝ˇˇ÷ˇÅÅÁ.Êˇƒˇˇ˛ˇˇ‚ˇÈˇıˇ¸ˇ‚ˇÙˇÅÅÁ¿Áˇ˛ˇˇˇˇˇˇ˛ˇˇ˛ˇˇ˝˛ˇ¸ˇ˛ˇ˛ˇˇ˛ˇˇˇˇ˛ˇ˘ˇˇ˛ˇ˛ˇˇ¸˛˛ˇ˝˛ˇ˛ ˇˇ˛ˇˇˇˇ˛˛ˇ˛˝ˇˇˇ˛ˇˇˇˇ˛˛˛ˇ˘ˇˇ˛˛˛ˇˇ¸˛˛ˇ˝˛ˇ˛ ˇˇ˛ˇˇˇˇ˛˛ˇ˛˚ˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ÅÅıΔÁ˝ˇ˛ˇ˛ˇˇˇˇˇˇˇ˛ˇˇ˛
  5542. ˇˇˇˇˇ¯ˇˇ˛ˇ˛ˇˇ˛ˇ¸    ˇˇˇˇ˛ˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇ˚ˇ˛ˇˇ˛ˇ¸    ˇˇˇˇ˛ˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇÅňæÁˇˇ˛ˇˇ˛ˇˇˇˇˇˇ¸ˇ˝ˇ˛ˇˇˇıˇ˛˛ˇˇ˛ˇ¸ˇˇˇ˛ˇˇ˛    ˇˇˇˇ˙
  5543. ˇˇˇˇˇ˛ˇˇˇ˙ˇ˛ˇˇ˛ˇ¸ˇˇˇ˛ˇˇ˛    ˇˇˇˇ˚ˇ˛ˇˇˇˇˇˇˇÅň∏ˡ˚ˇ˛ˇ˛ˇˇˇ˛ˇˇ˙ˇ˛ˇˇ˛˛ˇÙˇ¸ˇˇ˛ˇ˝ˇ˛ˇ˛˛ ˛ˇˇˇ˛˝ˇ˚˛ˇˇˇ˛ˇˇ˛ˇˇ˘ˇ˛ˇˇ˛ˇ˝ˇ˛ˇ˛˛ ˛ˇˇˇ˛˝ˇ¸ˇˇ˛ˇˇˇ˛ˇ˛ˇÅň»Ëˇ˚ˇ˛ˇˇˇˇˇˇˇˇ˛ˇ˛
  5544. ˇˇˇˇˇˇ˛ˇ˙ˇˇ˝ˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇ˛ˇ˚    ˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇ˛ˇˇ˛ˇˇˇÅÅı≠È˛ˇ¸ˇ˝ˇˇˇˇˇˇˇ˛ˇ˝˛ˇ˛˚ˇ˛ˇˇ˚ˇˇ˛ˇˇ¸ˇˇ˚˛ˇ˝ˇˇ˝ ˇˇˇˇˇˇ˛ˇ˚ˇˇ˝ˇˇˇˇˇ˛ˇˇ¸ˇˇ˝ˇˇ˚˛ˇ˝ˇˇ˝ ˇˇˇˇˇˇ˛ˇ˚ˇˇˇ˛ˇ˛ˇ˛ˇÅÅÙôˇ…˛Ôˇ—˛ÅÅÒôˇ ˇÓˇ—ˇÅÅÒö˛ˇ∏˛ˇ”˛ˇÅÅÚÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅã ÂˇˇÚˇˇˆˇ˛ˇˇ—˛ˇˇÅÅÅ˝ò@@ˆ@ˆBFÇ<˛ D˚Ä–˛Ñ˛Ä–˛ $Ûƒ`Äe≥ÃΩñX`—˛ $I$ëíI$íH$†—˛ |I%!I$îà%–˛ Dä)¡í)'I–˛ ÑíK$ñIlPK —Œ„ч‡ƒõÜìêáLƒ—˛˝˛Äœ˛˝Œ ˛é˝À˛
  5545. >–` Äœ˛     `Œ˛   † —˛
  5546. "7¸Ñå%¯9ÿΔÛ,“˛
  5547. >JDàR" H°*Dê“˛
  5548. !íDà‰§‚ â"PHê“˛
  5549. A‰ÖG8$@ëCêà†“˛
  5550. Bç£Ñb$PñB2© “˛
  5551. ¸rBÉúét i¡ÃF “
  5552. ¸˛ÄÀ    ¸ ¸« ˛>`¸¿‡Õ
  5553. ˛ ˝!Õ˛ Ä Õ˛$Y;ÿfleÄ@ Õ˛$II!$íÄ@Õ˛$I!"%@ÄÕ
  5554. ˛HíBIAÃ˛J≤ ¬[$ÇÕ˛‰MqA§ƒ‡Õ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@ĈÇF¬<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆ¬Ffi<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5555. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5556. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5557.  
  5558.  
  5559.  ˛êêê@ˆBFÇ<'¡ˇÒˇ˜ˇ˛ˇœˇÅÅŸ"ÊˇˇÒˇ¯ˇ˝ˇ„ˇÓˇÅÅŸ]Á ˇ˛ˇ˛ˇˇ˛ˇ˛˛˛˛˛ˇ¸ˇ˘ ˛ˇ˛ˇˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇ    ˛ˇˇˇ˛ˇ˘ˇ˛ˇˇ˝˛ˇÅÅÜ^Áˇˇ˛ˇˇˇˇˇˇˇ˛ˇ˘$ˇˇˇˇˇˇˇˇˇˇˇˇˇ˜ ˇˇˇˇˇÅÅÜX˸ˇ˛ˇˇˇˇˇˇˇ˝ˇ˙ˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˛ˇ˜ˇˇˇˇÅÅÉ[ˡ˛ˇˇ˛ˇˇ˛ˇˇ˛ˇˇ¸˛˙˛˛ ˛ˇˇ˛ˇ˛
  5560. ˇˇ˛ˇˇˇ˛˛˛˜    ˇˇˇ˛ÅÅÉdÈˇ˝ˇˇˇˇˇˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇ˜ ˇˇˇˇˇˇÅÅÜ_Ͳˇ˛ˇ˛ˇ˛˛ˇ˝ˇ˛ˇ¸˛ˇ¸ˇˇ˛ˇˇˇˇ˛ˇ˝ˇˇˇˇ˛ˇˇ˝ˇ˝˛ˇ    ˇˇˇˇˇ˛ˇÅÅ₡¸˛⁄˛ÁˇÅÅÅÙ‚ˇ¸ˇ⁄ˇËˇÅÅÅÛ„˛ˇ˛˛ˇ‹˛ˇÅÅÅ⁄$Áˇ˛˛ˇÈ˛ˇˇ˛ÏˇˇˇˇˇÅÅÅÙ!Êˇ˛ˇÎˇ˛ˇÎˇˇÔˇÅÅÅÒ/Êˇ˛ˇ˙ˇˇ˜ˇ˝ˇÏˇˇ˘ˇ¯ˇÌˇÅÅÜdÁˇ˛ˇ˛ˇˇ˛˛ˇ˛˛ˇ˛ˇ˝˛¯ˇˇ˛ˇ˛¯
  5561. ˇˇ˛ˇˇ˛˛ˇ¸˛ˇˇˇ˛ˇˇ˛ˇ˛˛˛ˇˇ˛ˇˇˇˇˇˇ˛ÅÅëaÁ¸ˇ
  5562. ˇˇˇˇ˛ˇˇ˛ˇ¯ˇˇˇˇ˘ˇˇ˛ˇ˛ˇ˚ˇˇ˛ˇˇ˝
  5563. ˇˇˇˇˇ˛ˇˇˇÅÅèdÁˇ˝
  5564. ˇˇˇˇˇ˛ˇˇ˛ˇ˛˛ˇ
  5565. ˇˇˇˇ˘¸ˇ˛ˇ˛ˇ¸ˇ˛ˇˇˇ˛ˇˇˇ¸ˇˇ˛ˇˇÅÅècˡ¸˛˛ˇˇˇ˝ˇ˛˝ˇ˝ˇ˛ˇˇ˛ˇ˛ˇ¯ˇ˛ˇˇ˛ˇ˚ˇ˛˛˛ˇ˝ˇ˛ˇ˛˝ˇ˛ˇ˛ˇˇÅÅéjˡ˝ˇˇ˛ˇˇˇˇˇ˛ˇˇ˝ˇ˛ˇ˝ˇ˛ˇˇ˛ˇ˚ˇ˝ˇˇ˛ˇˇ˝    ˇˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇˇˇÅÅé[È˚ˇ˛˛ˇˇˇ˝ˇ˚˝ˇ¸˛ˇ˛ˇˇ˛˛ˇ˛ˇˇ˝ˇ˚ˇˇˇ˛ˇ¸˛ˇˇˇ˛ˇ˛ˇˇ˛ˇÅÅ锡ˡÅÅÅ‘÷ˇˇËˇÅÅÅ”
  5566. ÷ˇˇÅÅÅ∏Áˇ˛˛ˇˇˇ‘ˇˇ˚˛ˇÅÅÅÊ"Êˇˇ˛ˇ’ˇˇ˝ˇ˛ˇÅÅÅÁ#Êˇˇ˛ˇÙˇÙˇÓˇ˘ˇÅÅÅÁBÁˇ˛˛˛ˇˇˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇˇ˘˛˘ˇÅÅÅÊ@Áˇˇ˛ˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇ˘ˇˇ˘ˇÅÅÅÂ?Áˇˇ˛    ˇˇˇˇ˝ˇˇ˛ˇ˛ˇˇˇ˛ˇˇ˜ˇ˚ˇÅÅʼn>ˡˇ˛ˇ˛ˇ˝˛ˇˇ˝    ˇˇˇ˛˛˛ˇˆˇ¸˛ÅÅÅ„Fˡˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇ˙ˇˇ¸ˇ˝ˇÅÅÅÁBÈ˛ˇˇ˛ˇˇˇˇ˛ˇ˛ˇˇ¸
  5567. ˇˇˇˇˇˇ˛ˇ˘ˇˇ˛ˇ¸ˇÅÅÅÊÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5568. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5569. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5570.  
  5571.  
  5572.  ˛êêê@ĈÇF¬<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5573. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5574. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5575.  
  5576.  
  5577.  ˛êêêÄúˆ¬Ffi<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆfiF<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@ĈF^<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆ^Fz<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5578. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5579. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5580.  
  5581.  
  5582.  ˛êêê@ˆfiF<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5583. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5584. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5585.  
  5586.  
  5587.  ˛êêê@ĈF^<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5588. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5589. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5590.  
  5591.  
  5592.  ˛êêêÄúˆ^Fz<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆzF∫<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@Ĉ∫F˙<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆ˙F<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5593. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5594. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5595.  
  5596.  
  5597.  ˛êêê@ˆzF∫<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5598. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5599. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5600.  
  5601.  
  5602.  ˛êêê@Ĉ∫F˙<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHÅ:t/    Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5603. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5604. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5605.  
  5606.  
  5607.  ˛êêêÄúˆ˙F<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆFV<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@ĈVFñ<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆñF≤<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHÅ:x/
  5608. IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5609. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5610. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5611.  
  5612.  
  5613.  ˛êêê@ˆFV<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHÅ:t/ IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5614. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5615. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5616.  
  5617.  
  5618.  ˛êêê@ĈVFñ<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHÅ:x/ IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5619. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5620. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5621.  
  5622.  
  5623.  ˛êêêÄúˆñF≤<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅã
  5624. H≈4~EFò@@ˆ@ˆFø<¡¡¡”ˇ‡Ò”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒ”ˇÒò@@Ĉ@ĈøFˇ<”ˇÒ”ˇÒ”ˇÒ”ˇÒ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ˛>>:0ÜÀ ˛DHâÀ ˛ÑàëÀ ˛""ÄàÀ ˛<=À ˛ !·À ˛@A À ˛@A ! À ˛˛‡¿~0À¡¡¡˛? ‡p>˛    >: ÄÄŸ˛˛à˛D˝Ä◊˛˛˛Ñ÷˛"oec "3$÷"Ä~, Ÿ√-¨x⁄˛<2$ÑÉ¿ <I%(=(I%$êíê⁄˛$R$â@ â*H!"HI&)ê⁄˛@LIÄ@âkêA"P$íJ.!$`⁄˛@òKÑ@ë≤0A$î%ñJH¢e@⁄˛‡|5‡a!–‡‡8h&jOá!¶‡⁄ ˝"Ô⁄ ˝"Ô⁄
  5625. ˝Ó‡⁄˛>«˛
  5626. «˛«
  5627. ˛"≥¶0…
  5628. ˛<DäJH…
  5629. ˛ IPê…
  5630. ˛@éꇅ
  5631. ˛@àî≤à…
  5632. ˛‡áLp…¸ «¸†«¸¿«˛:˛– ˛˛>:’˛D˛ ˝à˛D’˛D  ˝à˛Ñ’˛#'Û[?ímåô&∞"Ä’˛)D§Äâíí‚I)@=‘˛    $I$ÄQ$ï$IR@!‘˛âBéIQ(µ$8K\ÄA‘˛à…®…DR*Ÿ,"çëÄA’péGIãå$ê‘á    懒ò@ÄúˆÄúˆˇF<˝Ä˝@˛Äœ˛˝@Œ ˛˝ÄÀ˛?˝ Ü ˛    `0¿0›˛˚I0˚ √¸›˛˙Q@˛@ ˛› ˛"≥mÜo1ëpxcY¸2YΔ«Ü5ü¿„¿fl ˛<DíI*Hà$ë$§JI(ÇIJA$• fl ˛$HíRDêéà%$êîR(ÇQ"I)I fl ˛@â$úH‡ÇàEIîú(ÑQ$êÇNr fl ˛@âd±íà     êI$Àd$±IíL∂BXΔ@fl ˛‡Ü§Œ~r0`p√L∏NAÜ 4ÀÅß;ÄflÙÄ˚@¸fiÙÄ˚ĸfiı¿˘¸fi¡¡¡¡¡¡¡¡¡¡¡¡˛ :¸¿–òň@ˆHHÅ:t/
  5633. IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5634. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5635. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5636.  
  5637.  
  5638.  ˛êêê@ˆFø<'ÅÅÅãÅÅÅãÅÅÅã˛ÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎwÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎܲÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÅÅãÎÎá˛ÎÅÅãÏÎá˛ÏÅÅãÎÏá˛ÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÅÅãÎÎá˛ÎÅÅãÏÎá˛ÏÅÅãÎÏá˛ÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎΡˇÅÅπˇˇ˛ˇÒÎÎá ˛ÎÏˇˇÅŪˇˇˇˇÒÏÎá˛ÏÏˇˇÅÅ∏ˇˇÒÎÏá˛ÎÏˇˇÅÅπˇˇˇÒÏÎá ˛ÎÏˇˇÅŪˇˇˇÒÎÎá˛ÏΡˇÅÅπˇˇ˛ˇÒÎÏá˛ÎÅÅãÎÎá˛ÎŎŎ´ˇÚÏÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÏÎáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎáê˛Ïˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÏáê˛Îˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ¯ˇ˜ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇ˜ˇ˜ˇ¯ˇˇÛÎÎá˛ÎŎŎ™ˇÛÏÎá˛ÏÔŎŎ´ˇÛÎÏá˛ÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÅÅãÎÎá˛ÎÅÅãÏÎá˛ÏÅÅãÎÏá˛ÎÅÅãÏÎá˛ÎÅÅãÎÎá˛ÏÅÅãÎÏá˛ÎÅÅãÎÎá˛ÎÅÅãÏÎá˛ÏÅÅãÎÏáòň@ĈHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5639. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5640. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5641.  
  5642.  
  5643.  ˛êêê@ĈøFˇ<'˛ÎÅÅãÏÎá˛ÎÅÅãÎÎáIJÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎxÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏá|˝Ï˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎáÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅã3Áˇ˛˛ˇ˛ˇ˛˛ˇ˛ˇ˛ˇˇ˛ˇ˛˙˛ˇˇ¯˛ˇ˝ˇˇÅÅÅ⁄4Êˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇ˙ˇˆˇ˛ˇˇÅÅÅ€3Êˇ˛ˇ˛ˇ˛ˇˇ˝ˇˇ˛ˇ˙ˇˆˇˇ˛ˇÅÅÅ€2Áˇ˛ˇ˛ˇ˛ˇˇ˙ˇ˛ˇ˚ˇˆˇ˛ˇ˛ˇÅÅÅ€+Á˝ˇ˝˝ˇˇ˙ˇ˝ˇ˚ˇˆˇ˛ˇ˛ˇÅÅÅ€/Áˇ˙ˇ˝ˇ˙ˇ˛ˇ˛ˇ˛ˇ˝˛ˇ˝ˇ˝˛ˇÅÅÅ⁄(ˡ˙ˇ¸˛˙˛˛˛˚ˇˆˇ˙ˇÅÅÅ⁄0ˡ˙ˇ¸ˇ˛ˇ˛ˇˇ˙ˇ˝ˇ˚ˇ¸ˇˇÅÅÅŸ&È˛ˇ¸˛ˇ¸˛ˇ¸ˇˇ˙˚ˇ˚˛ˇˇˇÅÅÅ◊ÅÅÅãÅÅÅãÅÅÅãGÁˇ˛˛ˇ˛ˇÊˇ˛˛ˇ˚ˇˇ˛˚ˇ˛˛ˇÊˇ˛˛ˇ˛ˇ˛ˇˇ˝˛ˇ¸ˇÂ˛ˇÚˇÅŃ<Êˇ˛ˇ‚ˇ˛ˇ˝ˇ˛ˇ˚ˇ˛ˇÊˇ˛ˇˇ˛ˇ˚ˇfiˇÅÅ¥7Êˇfiˇ˛ˇ˘ˇ˚ˇ˛ˇÊˇ˛ˇˇ˝ˇ¸ˇ¯ˇËˇÅÅ≥†Áˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇ˚ˇ˛ˇ˘ˇ˚ˇ˛ˇ˛ˇˇˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇ˛ˇˇ˜ˇˇ˛˛˛˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇ˛˝ˇˇˇˇ˛ˇˇˇˇ˛˛˛˛ˇÅÅ–çÁ˝ˇ˝ˇˇˇ˛ˇˇˇ˝ˇˇ¸˝ˇ˘ˇ˙˝ˇ˛ˇˇˇˇˇˇˇˇ¸˝ˇˇˆˇˇ˛ˇˇ˚ ˇˇˇˇˇˇˇˇˇˇˇˇ˝ ˇˇˇˇˇÅÅœôÁˇˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇ˚ˇ˝˛ˇ˛ˇ˘ˇ¸ˇ˛ˇˇˇˇˇˇˇ¸ˇ˝ˇ˜ˇ˛ˇˇˇ˚ˇˇˇˇˇˇˇˇ˛ˇˇˇ˛ˇ˛ˇ˛ˇˇˇˇÅÅœäˡ˙ˇˇˇ˛ˇˇ˛˝˛ˇ˚ˇ˜ˇ˘ˇ˚ˇ˛ˇ˛ˇˇˇˇ˛ˇ˛¸ˇ¸˛˜ˇ˛ˇˇ˛˚ˇˇˇ˛ˇˇˇˇ˛ˇ˛ˇ˛ˇ˝˛ˇˇ˛ˇˇÅÅŒôˡ˚ˇˇˇ˝ˇˇˇˇ˝ˇ˛ˇ˝ˇ¯ˇ˝ˇ˝ˇ˚ˇˇ˛ˇˇˇˇˇ˛ˇˇ¸ˇ¸ˇ˛ˇ˚ ˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇ˛ ˇˇˇˇˇˇÅÅÕzÈ˛ˇ˚¸ˇ˝ˇˇˇˇ¸˛ˇ˝˛ˇ˘¸ˇ˝˛ˇ˚ˇˇ˝ˇˇ˝˛ˇˇ˝˛ˇ¸˛ˇ˙˛ˇ˝ˇˇˇ¸ˇˇˇˇˇˇˇˇ¸ˇ˝˛ˇˇ˝ˇˇˇˇˇ˛ˇÅÅŒflˇ˛ˇÅÈˇ˛ˇÅÅœflˇ˛ˇÅÈˇ˛ˇÅÅœfi˛ˇÅÁ˛ˇÅÅŒÁˇ˛˛ˇÛˇˇÅÅÅ∫Êˇ˛ˇıˇˇÅÅÅ∫Êˇ˛ˇıˇÅÅÅ∏-Áˇ˛    ˇˇˇˇˇˇ˛ ˇˇ˛ˇˇˇ˛ˇ˛ˇˇÅÅÅ«+Á˝ˇ˛ˇ˛ˇˇ˛ˇˇˇˇˇˇˇÅÅÅ»)Áˇ˚ˇˇˇ˛ˇˇ˛ˇˇ˝ˇˇÅÅÅ«$ˡ˚ˇ˛˛ˇ˝˛ˇˇ˛˝˛ˇÅÅÅΔ,ˡ˚ˇ˛ˇ˛ˇˇˇˇˇˇˇˇ˛ˇÅÅÅ»&È˛ˇ¸ˇ˝˛ˇ˛
  5644. ˇˇˇˇˇˇ˛˛ˇÅÅÅ« ◊ˇÅÅÅ∂ŸˇˇÅÅÅ∂
  5645. ŸˇˇÅÅŵ2Áˇ˛ˇˇ·˛ˇˇ˛˘ˇˇ‡˛˛ˇ˛„ˇ˛˛ˇ˛ˇ˛ˇˇÅÅ™2ˡ˛ˇ·ˇ˛ˇ˘ˇˇflˇ˛ˇ„ˇ˛ˇˇ˛ˇÅÅ©6ˡ˛ˇıˇÓˇ˛ˇ˘ˇˇ‡ˇ˛ˇ„ˇ˛ˇˇ˝ˇÅÅ©xÁˇ˛ˇˇˇ˛˛ˇ˛ˇˇˇˇ˛ˇˇˇˇ˙ˇ¸˛ˇ˛˛ˇ˛˛ˇˇˇ˛ˇˇ˛ˇˇ˛ˇ˛¯ˇ˛ˇ˛ˇˇˇˇˇˇ˛ˇˇˇˇ˚ˇ˛ˇˇÅŧrÊˇ˛
  5646. ˇˇˇˇˇ˛ ˇˇˇˇˇ˙ˇ˛ˇˇ˛ˇˇˇˇˇˇˇˇ˝ˇˇ˘˝ˇ˛ˇˇˇˇˇˇˇˇ˘˝ˇˇÅÅ£r    ˇˇˇˇ˛ˇˇˇˇˇˇ˘ˇˇ˛ˇˇˇˇˇˇˇ˛ˇˇ˛ˇˇ¯ˇ¸ˇ˛ˇˇˇˇˇˇˇ˘ˇ˝ˇÅÅ£tÈˇ˛ˇ˛ˇ˝ˇˇ˛˛ˇˇˇ˛¸ˇ˛ˇ˛˛˛ˇˇ˛
  5647. ˇˇ˛ˇ˛ˇˇ˝ˇ˛ˇ¯ˇ˚ˇ˛ˇˇˇ˛ˇ˛ˇˇˇ˘ˇ¸˛ÅÅ£~Èˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛    ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇ˙ˇ˚ˇˇ˛ˇˇˇˇˇ˛ˇˇ˘ˇ¸ˇ˛ˇÅÅßp͡˛ˇ˝ˇ˛˛ˇˇ˛˛ˇˇˇˇˇ˛ˇ˛ˇ˛ˇˇ˝    ˇˇˇˇ˝ˇˇˇˇ¸˛ˇˇ˝˛ˇ˚ˇˇ˝ˇˇ˝˛ˇˇ˙˛ˇ¸˛ˇÅŶòňÄúˆHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5648. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5649. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5650.  
  5651.  
  5652.  ˛êêêÄúˆˇF<'·ˇŸ˛„ˇÅÅÅÙ‰ˇˇ⁄ˇˇ‰ˇÅÅÅÛ‰ˇˇŸˇˇÅÅÅ‘BÁˇ˛˛ˇ˛flˇÌ˛ˇ˝ˇˇ¸ˇˇ˛Âˇ˝ˇˇÚˇ˛˝ˇˇ˛Îˇ˛ÅÅÁ1Êˇ˛ˇÀ
  5653. ˇˇˇˇˇˇÀˇÙˇˇ˝ˇˇ÷ˇÅÅÁ.Êˇƒˇˇ˛ˇˇ‚ˇÈˇıˇ¸ˇ‚ˇÙˇÅÅÁ¿Áˇ˛ˇˇˇˇˇˇ˛ˇˇ˛ˇˇ˝˛ˇ¸ˇ˛ˇ˛ˇˇ˛ˇˇˇˇ˛ˇ˘ˇˇ˛ˇ˛ˇˇ¸˛˛ˇ˝˛ˇ˛ ˇˇ˛ˇˇˇˇ˛˛ˇ˛˝ˇˇˇ˛ˇˇˇˇ˛˛˛ˇ˘ˇˇ˛˛˛ˇˇ¸˛˛ˇ˝˛ˇ˛ ˇˇ˛ˇˇˇˇ˛˛ˇ˛˚ˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ÅÅıΔÁ˝ˇ˛ˇ˛ˇˇˇˇˇˇˇ˛ˇˇ˛
  5654. ˇˇˇˇˇ¯ˇˇ˛ˇ˛ˇˇ˛ˇ¸    ˇˇˇˇ˛ˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇ˚ˇ˛ˇˇ˛ˇ¸    ˇˇˇˇ˛ˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇÅňæÁˇˇ˛ˇˇ˛ˇˇˇˇˇˇ¸ˇ˝ˇ˛ˇˇˇıˇ˛˛ˇˇ˛ˇ¸ˇˇˇ˛ˇˇ˛    ˇˇˇˇ˙
  5655. ˇˇˇˇˇ˛ˇˇˇ˙ˇ˛ˇˇ˛ˇ¸ˇˇˇ˛ˇˇ˛    ˇˇˇˇ˚ˇ˛ˇˇˇˇˇˇˇÅň∏ˡ˚ˇ˛ˇ˛ˇˇˇ˛ˇˇ˙ˇ˛ˇˇ˛˛ˇÙˇ¸ˇˇ˛ˇ˝ˇ˛ˇ˛˛ ˛ˇˇˇ˛˝ˇ˚˛ˇˇˇ˛ˇˇ˛ˇˇ˘ˇ˛ˇˇ˛ˇ˝ˇ˛ˇ˛˛ ˛ˇˇˇ˛˝ˇ¸ˇˇ˛ˇˇˇ˛ˇ˛ˇÅň»Ëˇ˚ˇ˛ˇˇˇˇˇˇˇˇ˛ˇ˛
  5656. ˇˇˇˇˇˇ˛ˇ˙ˇˇ˝ˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇ˛ˇ˚    ˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇ˛ˇˇ˛ˇˇˇÅÅı≠È˛ˇ¸ˇ˝ˇˇˇˇˇˇˇ˛ˇ˝˛ˇ˛˚ˇ˛ˇˇ˚ˇˇ˛ˇˇ¸ˇˇ˚˛ˇ˝ˇˇ˝ ˇˇˇˇˇˇ˛ˇ˚ˇˇ˝ˇˇˇˇˇ˛ˇˇ¸ˇˇ˝ˇˇ˚˛ˇ˝ˇˇ˝ ˇˇˇˇˇˇ˛ˇ˚ˇˇˇ˛ˇ˛ˇ˛ˇÅÅÙôˇ…˛Ôˇ—˛ÅÅÒôˇ ˇÓˇ—ˇÅÅÒö˛ˇ∏˛ˇ”˛ˇÅÅÚÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅã ÂˇˇÚˇˇˆˇ˛ˇˇ—˛ˇˇÅÅÅ˝ò@@ˆ@ˆF[<˛ D˚Ä–˛Ñ˛Ä–˛ $Ûƒ`Äe≥ÃΩñX`—˛ $I$ëíI$íH$†—˛ |I%!I$îà%–˛ Dä)¡í)'I–˛ ÑíK$ñIlPK —Œ„ч‡ƒõÜìêáLƒ—˛˝˛Äœ˛˝Œ ˛é˝À˛
  5657. >–` Äœ˛     `Œ˛   † —˛
  5658. "7¸Ñå%¯9ÿΔÛ,“˛
  5659. >JDàR" H°*Dê“˛
  5660. !íDà‰§‚ â"PHê“˛
  5661. A‰ÖG8$@ëCêà†“˛
  5662. Bç£Ñb$PñB2© “˛
  5663. ¸rBÉúét i¡ÃF “
  5664. ¸˛ÄÀ    ¸ ¸« ˛>`¸¿‡Õ
  5665. ˛ ˝!Õ˛ Ä Õ˛$Y;ÿfleÄ@ Õ˛$II!$íÄ@Õ˛$I!"%@ÄÕ
  5666. ˛HíBIAÃ˛J≤ ¬[$ÇÕ˛‰MqA§ƒ‡Õ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@Ĉ[Fõ<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆõF∑<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5667. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5668. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5669.  
  5670.  
  5671.  ˛êêê@ˆF[<'¡ˇÒˇ˜ˇ˛ˇœˇÅÅŸ"ÊˇˇÒˇ¯ˇ˝ˇ„ˇÓˇÅÅŸ]Á ˇ˛ˇ˛ˇˇ˛ˇ˛˛˛˛˛ˇ¸ˇ˘ ˛ˇ˛ˇˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇ    ˛ˇˇˇ˛ˇ˘ˇ˛ˇˇ˝˛ˇÅÅÜ^Áˇˇ˛ˇˇˇˇˇˇˇ˛ˇ˘$ˇˇˇˇˇˇˇˇˇˇˇˇˇ˜ ˇˇˇˇˇÅÅÜX˸ˇ˛ˇˇˇˇˇˇˇ˝ˇ˙ˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˛ˇ˜ˇˇˇˇÅÅÉ[ˡ˛ˇˇ˛ˇˇ˛ˇˇ˛ˇˇ¸˛˙˛˛ ˛ˇˇ˛ˇ˛
  5672. ˇˇ˛ˇˇˇ˛˛˛˜    ˇˇˇ˛ÅÅÉdÈˇ˝ˇˇˇˇˇˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇ˜ ˇˇˇˇˇˇÅÅÜ_Ͳˇ˛ˇ˛ˇ˛˛ˇ˝ˇ˛ˇ¸˛ˇ¸ˇˇ˛ˇˇˇˇ˛ˇ˝ˇˇˇˇ˛ˇˇ˝ˇ˝˛ˇ    ˇˇˇˇˇ˛ˇÅÅ₡¸˛⁄˛ÁˇÅÅÅÙ‚ˇ¸ˇ⁄ˇËˇÅÅÅÛ„˛ˇ˛˛ˇ‹˛ˇÅÅÅ⁄$Áˇ˛˛ˇÈ˛ˇˇ˛ÏˇˇˇˇˇÅÅÅÙ!Êˇ˛ˇÎˇ˛ˇÎˇˇÔˇÅÅÅÒ/Êˇ˛ˇ˙ˇˇ˜ˇ˝ˇÏˇˇ˘ˇ¯ˇÌˇÅÅÜdÁˇ˛ˇ˛ˇˇ˛˛ˇ˛˛ˇ˛ˇ˝˛¯ˇˇ˛ˇ˛¯
  5673. ˇˇ˛ˇˇ˛˛ˇ¸˛ˇˇˇ˛ˇˇ˛ˇ˛˛˛ˇˇ˛ˇˇˇˇˇˇ˛ÅÅëaÁ¸ˇ
  5674. ˇˇˇˇ˛ˇˇ˛ˇ¯ˇˇˇˇ˘ˇˇ˛ˇ˛ˇ˚ˇˇ˛ˇˇ˝
  5675. ˇˇˇˇˇ˛ˇˇˇÅÅèdÁˇ˝
  5676. ˇˇˇˇˇ˛ˇˇ˛ˇ˛˛ˇ
  5677. ˇˇˇˇ˘¸ˇ˛ˇ˛ˇ¸ˇ˛ˇˇˇ˛ˇˇˇ¸ˇˇ˛ˇˇÅÅècˡ¸˛˛ˇˇˇ˝ˇ˛˝ˇ˝ˇ˛ˇˇ˛ˇ˛ˇ¯ˇ˛ˇˇ˛ˇ˚ˇ˛˛˛ˇ˝ˇ˛ˇ˛˝ˇ˛ˇ˛ˇˇÅÅéjˡ˝ˇˇ˛ˇˇˇˇˇ˛ˇˇ˝ˇ˛ˇ˝ˇ˛ˇˇ˛ˇ˚ˇ˝ˇˇ˛ˇˇ˝    ˇˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇˇˇÅÅé[È˚ˇ˛˛ˇˇˇ˝ˇ˚˝ˇ¸˛ˇ˛ˇˇ˛˛ˇ˛ˇˇ˝ˇ˚ˇˇˇ˛ˇ¸˛ˇˇˇ˛ˇ˛ˇˇ˛ˇÅÅ锡ˡÅÅÅ‘÷ˇˇËˇÅÅÅ”
  5678. ÷ˇˇÅÅÅ∏Áˇ˛˛ˇˇˇ‘ˇˇ˚˛ˇÅÅÅÊ"Êˇˇ˛ˇ’ˇˇ˝ˇ˛ˇÅÅÅÁ#Êˇˇ˛ˇÙˇÙˇÓˇ˘ˇÅÅÅÁBÁˇ˛˛˛ˇˇˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇˇ˘˛˘ˇÅÅÅÊ@Áˇˇ˛ˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇ˘ˇˇ˘ˇÅÅÅÂ?Áˇˇ˛    ˇˇˇˇ˝ˇˇ˛ˇ˛ˇˇˇ˛ˇˇ˜ˇ˚ˇÅÅʼn>ˡˇ˛ˇ˛ˇ˝˛ˇˇ˝    ˇˇˇ˛˛˛ˇˆˇ¸˛ÅÅÅ„Fˡˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇ˙ˇˇ¸ˇ˝ˇÅÅÅÁBÈ˛ˇˇ˛ˇˇˇˇ˛ˇ˛ˇˇ¸
  5679. ˇˇˇˇˇˇ˛ˇ˘ˇˇ˛ˇ¸ˇÅÅÅÊÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5680. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5681. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5682.  
  5683.  
  5684.  ˛êêê@Ĉ[Fõ<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5685. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5686. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5687.  
  5688.  
  5689.  ˛êêêÄúˆõF∑<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆ∑F˜<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@Ĉ˜F7<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆ7FS<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5690. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5691. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5692.  
  5693.  
  5694.  ˛êêê@ˆ∑F˜<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5695. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5696. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5697.  
  5698.  
  5699.  ˛êêê@Ĉ˜F7<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5700. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5701. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5702.  
  5703.  
  5704.  ˛êêêÄúˆ7FS<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆSFì<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@ĈìF”<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆ”FÔ<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5705. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5706. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5707.  
  5708.  
  5709.  ˛êêê@ˆSFì<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5710. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5711. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5712.  
  5713.  
  5714.  ˛êêê@ĈìF”<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5715. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5716. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5717.  
  5718.  
  5719.  ˛êêêÄúˆ”FÔ<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆÔF/<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@Ĉ/Fo<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆoFã<¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5720. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5721. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5722.  
  5723.  
  5724.  ˛êêê@ˆÔF/<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHÅ:x/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5725. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5726. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5727.  
  5728.  
  5729.  ˛êêê@Ĉ/Fo<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHÅ:t/IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5730. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5731. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5732.  
  5733.  
  5734.  ˛êêêÄúˆoFã<'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãˇ6@ˇ ˇˇˇˇ@
  5735. ˇ·ˇ‚7^
  5736. 4⁄*˙¯, Palatino
  5737. .(·*xiv
  5738.     3, Ã(#úPREFN )3ACE 4^*¿¯
  5739. k*r¯4l*r¯ múm(
  5740. ˇ·ˇ‚7^,     Helvetica
  5741. ˇˇ‹.ˇ◊°dONLNd\úka(gúAssembly-Language Informationˇˇˇˇˇˇ€r(g0
  5742. °dONLNdrú~·({úInside Macintoshb°dONLNd/r‚~Ó)F pr© °dONLNd2rÓ~u) esents information about the fi∂@°dONLNdQru~Ú)áelds of a parameter block in °dONLNdnúãœ(àú this format:
  5743.     °dONLNd{öú•‚*Parameter block
  5744. °dONLNdˆ·ú̺*HThe arrs`°dONLNd˝·ºÌÙ) 
  5745. ow in the faro‡°dONLNd
  5746. ·ÙÌì)8$-left column indicates whether the fi)‡°dONLNd/·îÌ’)†eld is an input °dONLNd?Óú˙…(˜ú    parameterS†°dONLNdHÓ…˙)-, output parameter±‡°dONLNdZÓ˙D)R , or both. }@°dONLNdeÓE˙K)*Y=¿°dONLNdfÓK˙È)$ou must supply values for all input °dONLNdä˚úp(ú-parameters and input/output parameters. The r© °dONLNd∑˚pí)‘outine r0İdONLNdø˚ì€)#eturns values in °dONLNd–úw(ú.output parameters and input/output parameters.°dONLNdˇú&)*The second column shows the fi‡°dONLNd*&q)éeld name as defi˝¿°dONLNd-q&Ó)Gned in the MPW C interface °dONLNdH'ú3¢(0úfiå¿°dONLNdJ'¢3”)
  5747. les; the thirö@°dONLNdW'”3î)1,d column indicates the C data type of that fiC¿°dONLNdÑ'ï3Ÿ)¬eld. The fourth °dONLNdî4ú@…(=ú    column prA¿°dONLNdù4 @ã)..ovides a brief description of the use of the fi±¿°dONLNdÃ4ã@·)¡eld. For a complete °dONLNd‡AúM¯(Júdescription of each fi¬¿°dONLNdˆA¯M”)\3eld, see the discussion that follows the parameter °dONLNd*NúZå(Wú8block or the description of the parameter block in the rİdONLNdbNçZù)Òefer∞†°dONLNdfNùZ‡)ence section of °dONLNdw[úgÕ(dú the chapterb`°dONLNdÇ[Õgœ)1.
  5748. n*â¯4o*â¯
  5749. ô*°¯4ö*°¯ õ*õ˛
  5750. ˇ·ˇ‚7^
  5751. ˇˇ©ˇÆ°dONLNdÖÜ*ô∏(î*Development EnvirLr°dONLNdñÜ∏ôÔ)éonmentˇˇˇˇˇˇV˛(î0
  5752. °dONLNdû™ú∂Ú(≥úThe system softwar↰dONLNd∞™Ú∂˝)Ve rò@°dONLNd≥™˝∂å) !outines described in this book ar+‡°dONLNd‘™ç∂‡)êe available using C  °dONLNdÁ™‡∂‚)S °dONLNdÈ∑ú√ñ(¿ú7or assembly-language interfaces. How you access these ru`°dONLNd ∑ñ√·)˙outines depends °dONLNd1ƒú–(Õúon the development enviryİdONLNdIƒ–N)r
  5753. onment you arBİdONLNdVƒO–·)A e using. This book shows system °dONLNdv—ú›Ω(⁄úsoftwar‰¿°dONLNd}—Ω›»)!e rÛ`°dONLNdÄ—»›
  5754. ) outines in their d‡°dONLNdë—›)FC{‡°dONLNdí—›¶)! interface using the Macintosh Pr‡Ä°dONLNd≥—¶›‘)ëogrammer˘`°dONLNdª—’›fi)/’s °dONLNdæfiúͶ(ÁúWï°dONLNdøfi•ÍÓ)    orkshop (MPW).°dONLNdŒú¸%(˘ú!All code listings in this book arr¿°dONLNdÔ%¸)â0e shown in C (except for listings that describe ˇˇ≈~°dONLNd˝ú    ü(úrE°dONLNd ˝†    ∏)esourç@°dONLNd%˝∏    )
  5755. ces, which ar&|°dONLNd2˝Ò    ¯)99e shown in Rez-input format). They show methods of using °dONLNdk
  5756. ú√(ú    various rˇ‡°dONLNdt
  5757. √)'Foutines and illustrate techniques for accomplishing particular tasks. °dONLNd∫ú#fi( úHAll code listings have been compiled and, in most cases, tested. Howevery†°dONLNdfi#„( fi, °dONLNd$ú0‰(-úGApple Computer does not intend that you use these code samples in your °dONLNdK1ú=“*
  5758.  
  5759. application.     @°dONLNdX1”=Ÿ)7Y…¿°dONLNdY1ÿ=˝)ou can fiî¿°dONLNdb1˛=)&<nd the location of this book’s code listings in the list of °dONLNdû>úJ¢(Gúfiå¿°dONLNd†>¢J±)gur˰dONLNd£>±J)es, tables, and listings.°dONLNdΩPú\¢(YúTµ¿°dONLNdæP°\V))o make the code listings in this book morŸ†°dONLNdÁPV\a)µe rË@°dONLNdÍPa\Õ) eadable, only limited err˚¿°dONLNdPÕ\ÿ)lor °dONLNd]úiÚ(fúhandling is shown. ¿°dONLNd]Ûi˘)WY‘@°dONLNd]¯iÈ)5ou need to develop your own techniques for detecting °dONLNdOjúvÊ(súand handling errfi °dONLNd_jÊvÛ)JorsÉ@°dONLNdbjÙvˆ).°dONLNdd|úàk(Öú0This book occasionally illustrates concepts by rч°dONLNdî|kà{)œefer1°dONLNdò||àÁ)ence to a sample applica» °dONLNd∞|ÁàÍ)k-°dONLNd≤âúïÃ(íú tion called °dONLNdæâÕïË)1SurfW¿°dONLNd√âËï˘)riter‰¿°dONLNd»â˘ïñ)$ and a sample import library called s °dONLNdÏâóïÆ)ûSurfT<@°dONLNdÒâÆïΩ)ools«†°dONLNdıâΩï‰)
  5760. ; these ar†°dONLNdˇâ‰ïÎ)'e °dONLNdñú¢‘(üú
  5761. not actual prrİdONLNdñ‘¢ˇ)8
  5762. oducts of eİdONLNdñˇ¢J)+Apple Computer°dONLNd&ñJ¢_)K, Inc.,    Symbol°dONLNdä´ú∂¶(¥ú´,
  5763. Courier.d†°dONLNdå´Ω∑Ì)!inAndOut˘°dONLNdï´∑()GHandle.⁄w°dONLNdú´=∑©)9Input/output parameter√w°dONLNd≤´©∑´)l.°dONLNdµªúΔ•(ƒú¨.d†°dONLNd∑ªΩ«Á)!output1˘°dONLNdøª«)GPtr.⁄w°dONLNd√ª=«ç)9Output parameterü°dONLNd”ªç«è)P.°dONLNd÷Àú÷•(‘úÆ.d†°dONLNdÿÀΩ◊·)!input1˘°dONLNdflÀ◊)GPtr.⁄w°dONLNd„À=◊Ö)9Input parameter©ó°dONLNdÚÀÖ◊á)H.ˇ
  5764. @ˇ ˇˇˇˇ@
  5765. ˇ·ˇ‚7^
  5766. 4⁄∫˙, Palatino
  5767. .‡(· xv
  5768.     3, Ã(#∫PREFN )3ACE 4^H¿
  5769. ^Hx4^Hx
  5770. àHê4âHê äHä
  5771. ˇ·ˇ‚7^
  5772. ˇˇ©ˇÆ°dONLNduHàÉ(ÉHFor Moróæ°dONLNduÉàÂ);
  5773. e InformationˇˇˇˇˇˇV˛(É0
  5774. °dONLNdô∫•◊(¢∫APDAH¿°dONLNdô◊•„) is ¿°dONLNdô„•O) Apple’s worldwide sour¯ °dONLNd4ôN•å)kce for over thr¿°dONLNdCôç•¥)?ee hundrº†°dONLNdKô¥•˛)'ed development °dONLNdZ¶∫≤(Ø∫tools, technical rw¿°dONLNdl¶≤)Hesour¿°dONLNdq¶≤\)ces, training prµ†°dONLNdŶ\≤˚)B#oducts, and information for anyone °dONLNd§≥∫øŒ(º∫inter
  5775. ¿°dONLNd©≥œøn)$ested in developing applications on M`°dONLNdÕ≥nøÚ)üApple platforms. Customers rj°dONLNdÈ≥Úø)Ñeceive °dONLNd¿∫Ãı(…∫the quarterly f`°dONLNd˛¿ˆÃ)<APDA[@°dONLNd¿Ã) T€@°dONLNd¿ÃL)
  5776. ools Catalog ~°dONLNd¿MÃó)4featuring all curr @°dONLNd#¿òÀ)Kent versions of Ù`°dONLNd3¿⁄Ø)BApple °dONLNd9Õ∫ŸÄ(÷∫+development tools and the most popular thirÈ¿°dONLNddÕÄŸ˙)Δd-party development tools. °dONLNd⁄∫Ê≈(„∫Or ‡°dONLNdÅ⁄ΔÊ) dering is easy; therü@°dONLNdï⁄Ê))Se ar≠‡°dONLNdô⁄)Ê˚).e no membership fees, and application forms arΔ‡°dONLNd«⁄˚Ê)“e not °dONLNdÕÁ∫ÛΩ(∫rE°dONLNdŒÁæÛ’)equir\@°dONLNd”Á’Û1)ed for most of our prF@°dONLNdËÁ1ÛS)\oducts. o‡°dONLNdÁSÛp)"APDA8†°dONLNdÙÁpÛ{) ofT`°dONLNd˜Á{Û˛) fers convenient payment and °dONLNdÙ∫r(˝∫+shipping options, including site licensing.°dONLNd?∫¿*Tµ¿°dONLNd@ø–)o or¿°dONLNdD–Î)der pr‡°dONLNdJÏ')oducts or to rÒ‡°dONLNdX&Δ):#equest a complimentary copy of the Ç@°dONLNd{«„)°APDAw °dONLNd„Î) T˜ °dONLNdÅ͸)ools °dONLNdÜ∫Ÿ(∫Catalogó`°dONLNdçŸ)
  5777. , contact °dONLNdò%∫1◊(.∫APDAH¿°dONLNdú%◊1Ÿ) °dONLNdû2∫>(;∫Apple Computer(İdONLNd¨2>)K, Inc. °dONLNd¥?∫K¿(H∫P?†°dONLNdµ?øK) .O. Box 319°dONLNd¡L∫X…(U∫Buf… °dONLNdƒL…XÌ)falo, NYG†°dONLNdÃLÓX )%  14207-0319°dONLNd•‹∫ËΩ(Â∫IfiİdONLNd¶‹Ωˇ)f you pr@°dONLNdÆ‹·Ë )$ ovide commerã °dONLNd∫‹ Ë;)?cial pr@°dONLNd¡‹<ËÛ)+oducts and services, call 408-974-4897 for °dONLNdÏÈ∫ım(Ú∫'information on the developer support pr  °dONLNdÈnı¬)¥ograms available fr‹‡°dONLNd&Ȭı“)Tom H°dONLNd)È”ı)Apple.°dONLNd0˚∫(∫For information o® °dONLNdA˚
  5778. )NnyİdONLNdB˚) ræÄ°dONLNdD˚g)egistering signaturòİdONLNdW˚g{)Ses, fi´‡°dONLNd]˚{¢)
  5779. le types, Y¿°dONLNdg˚¢)'Apple events, and other °dONLNd∫=(∫technical information, contact°dONLNdû∫&!*Macintosh Developer T.@°dONLNd≥!&k)gechnical Support°dONLNdƒ'∫3(0∫Apple Computer(İdONLNd“'3)K, Inc.°dONLNdŸ4∫@˚(=∫20525 Mariani +†°dONLNdÁ4˚@)AA‡°dONLNdË4@1)    venue, M/û`°dONLNdÒ41@V)/S 303-2T°dONLNd˙A∫M˚(J∫
  5780. Cupertino, CA¿°dONLNdA˚M()A
  5781.  95014-629Û†°dONLNdA(M-)-9°dONLNd◊^∫j¿(g∫Tµ¿°dONLNdÿ^øjÁ)elephonej°dONLNd·^Gj√)à800-282-2732 (United States)j°dONLNd˛iGu™* 800-637-0029 (Canada)j°dONLNdtGĬ* 716-871-6555 (International)°dONLNd2Ñ∫ê…(ç∫Faxj°dONLNd6ÑGêz)ç 716-871-651Ö&°dONLNdAÑzêÅ)31 °dONLNdEî∫†È(ù∫    AppleLinkj°dONLNdOîG†d)çAPDA°dONLNdU§∫∞(≠∫America Onlinej°dONLNdd§G∞d)çAPDA°dONLNdj¥∫¿Û(Ω∫
  5782. CompuServej°dONLNdu¥G¿v)ç
  5783. 76666,2405°dONLNdŃ∫–›(Õ∫Internetj°dONLNdäƒG–Δ)çAPDA@applelink.apple.comˇL@ˇ ˇˇˇˇ@
  5784. ˇ·ˇ‚7^
  5785. 4^*¿¯ˇ
  5786. ˙@ˇ ˇˇˇˇ@
  5787. ˇ·ˇ‚7^
  5788. 4⁄∫˙,     Helvetica
  5789.     .(‡∫Contents, Palatino
  5790. , (‡    1-1
  5791.     3, Ã(#∫CHAPTER ÿ)h1ˇˇˇˇˇˇ(JH
  5792. Figure 1-0*     Listing 1-0*    T)able 1-0
  5793. ˇˇu÷ˇÆ(qH1°dONLNd[∫x‰)rIntr$»°dONLNd[‰x‡)*oduction to PowerPC 
  5794. óHI4óHI 1H1
  5795. °dONLNd(6∫G˘(C∫Contents
  5796. ˇ·ˇ‚7^
  5797. ˇˇu÷ˇÆ°dONLNdx∫ïl(é∫System Softwar–$°dONLNd&xlïx)≤e
  5798. °dONLNd1X∫du(a∫&Overview of the PowerPC System Softwarö¿°dONLNdWXudy)ªed`°dONLNdZXédõ)1-4°dONLNd^e∫q(n∫The 68LC040 Emulator¯@°dONLNdte3q@)y1-6°dONLNdxrƒ~({ƒEmulator OperationdONLNdår1~>)m1-7°dONLNdêƒã"(àƒEmulator Limitations;@°dONLNd¶7ãD)s1-8°dONLNd™åŒò‰(ïŒCopr”†°dONLNdÆå‰ò)ocessors¢ °dONLNd∏åò*)91-9°dONLNdºòŒ§‚(°ŒInstr
  5799. ‡°dONLNd¡ò„§)uction T °dONLNd…ò§%)$imingsM@°dONLNd—ò9§F)21-9°dONLNd’•Œ±(ÆŒ
  5800. Deleted InstrÓİdONLNd‚•±')9uctionsİdONLNdΕ<±I)51-9°dONLNdÔ≤Œæ (ªŒUnsupported Instr˛¿°dONLNd≤ æZ)R
  5801. uction Featurœ°dONLNd
  5802. ≤[æd);es’†°dONLNd≤xæä)1-10°dONLNdøŒÀ‚(»ŒInstr
  5803. ‡°dONLNdø„À )
  5804. uction Caches÷ °dONLNd*ø4ÀF)Q1-10°dONLNd/ÀŒ◊Â(‘ŒAddrC¿°dONLNd3ÀÊ◊)ess Err⁄¿°dONLNd:À◊?)
  5805. or ExceptionsÒ‡°dONLNdIÀS◊e)P1-10°dONLNdNÿŒ‰Ó(·ŒBus Err3@°dONLNdUÿÔ‰+)!
  5806. or ExceptionsJ`°dONLNddÿ?‰L)P1-1†°dONLNdgÿL‰Q)
  5807. 1°dONLNdiÂŒÒ](ÓŒMemory-Mapped I/O Locations6†°dONLNdÜÂrÒ)§1-1˝‡°dONLNdâÂ~ÒÉ) 1°dONLNdãÚ∫˛Ú(˚∫
  5808. Mixed Mode;¿°dONLNdóÚ˛)M1-13°dONLNdúˇƒ œ(ƒCr\°dONLNdûˇœ ) oss-Mode Calls@°dONLNdÆˇ' 9)X1-14°dONLNd≥ ƒ(ƒRoutine DescriptorsÈ °dONLNd» 0B)l1-15°dONLNdÕƒ%/("ƒMemory Considerations°dONLNd‰D%V)Ä1-19°dONLNdÈ&∫22(/∫The PowerPC Native Envirô°dONLNd&22S)xonmentë@°dONLNd    &h2z)61-19°dONLNd3ƒ?Ú(<ƒ    Fragments@°dONLNd3?)C1-20°dONLNd@ŒLÌ(IŒThe StrİdONLNd%@ÓL) uctur¢`°dONLNd*@LF)e of Fragments4†°dONLNd:@[Lm)V1-22°dONLNd?LŒX)(UŒImports and Exports∑@°dONLNdTL=XO)o1-23°dONLNdYYŒeÁ(bŒThe TÒİdONLNd^YÊe-)able of ContentsØ °dONLNdpYBeT)\1-26°dONLNdufŒr(oŒSpecial Routinesy‡°dONLNdáf+r=)]1-29°dONLNdåsŒ(|ŒFragment Storage@°dONLNdûs1C)c1-30°dONLNd£Œã(àŒExecutable Resour˜†°dONLNd¥ã,)QcesnİdONLNdπAãS)"1-34°dONLNdæåƒòÀ(ïƒCó°dONLNdøåÀò)alling Conventions~`°dONLNd”å3òE)h1-41°dONLNdÿôŒ•W(¢ŒThe 680x0 Calling Conventionsb¿°dONLNd˜ôl•~)û1-42°dONLNd¸¶Œ≤h(ØŒThe PowerPC Calling ConventionsÌ °dONLNd¶|≤é)Æ1-43°dONLNd"≥Œø(ºŒParameter Passinge°dONLNd5≥4øF)f1-47ˇ8@ˇ ˇˇˇˇ@
  5809. ˇ·ˇ‚7^
  5810. 4*\¯, Palatino
  5811. &e.3+ú"CHAPTER à)>14⁄*˙¯
  5812. (‡*1-2,     Helvetica
  5813.     )rContents4^*¿¯
  5814. °dONLNd\¶hÓ(e¶Import Libraries? °dONLNd\h)]1-50°dONLNdi¶u≈(r¶The Or\†°dONLNdi≈u')ganization of Memory͆°dONLNd3i;uM)v1-52°dONLNd8v∞ÇÎ(∞ File Mapping·°dONLNdFvˇÇ)O1-53°dONLNdKÉ∞è (å∞The System Partition¿@°dONLNdaÉ è2)p1-56°dONLNdfê∞ú(ô∞Application PartitionsS¿°dONLNd~ê&ú8)v1-57°dONLNdÉù∞©«(¶∞Data °@°dONLNdàù«©ˆ)    AlignmentK °dONLNdìù ©)D1-63°dONLNdò™ú∂'(≥úCompatibility and Performancem‡°dONLNd∑™<∂N)†1-65°dONLNdº∑¶√«(¿¶Patches@°dONLNd≈∑‹√Ó)61-66°dONLNd ƒ¶–¨(Õ¶T†¿°dONLNdÀƒ¨–    )he Memory Manager◊‡°dONLNdfiƒ–/)q1-68°dONLNd„—¶›Á(⁄¶
  5815. Performance Tõ‡°dONLNd—Ê›)@uningΩ@°dONLNd˜—›&).1-70°dONLNd¸fi∞ÍÛ(Á∞
  5816. Mode SwitchesŸ‡°dONLNd fiÍ)W1-71°dONLNdÎú˜Û(ÙúRoutine Parameters≈‡°dONLNd$Θ)k1-72ˇ$@@ˇ ˇˇˇˇ@
  5817. ˇ·ˇ‚7^, Palatino
  5818. &e.3+ä"CHAPTER à)>1
  5819. 4⁄ä˙
  5820. , (‡    1-3
  5821. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  5822. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,,     Helvetica
  5823.     ˇˇ—ÚˇÆ°dONLNd8äC+(@ä'Introduction to PowerPC System Softwareˇˇˇˇˇˇ≠>(@1
  5824. °dONLNd(\äh(eäThis chapter is a general intr °dONLNdF\hê)~oduction to the system softwarlİdONLNdd\êh°)àe pr}@°dONLNdh\°h¸)ovided on PowerPC °dONLNdziäuì(räprG °dONLNd|iîu¥)
  5825. ocessor´°dONLNdÉi¥u≤) 8-based Macintosh computers. It describes the mixed envir@ °dONLNdªi≥u·)ˇ    onment prİdONLNdƒi·u).
  5826. ovided by °dONLNdŒväÇu(ä/the 68LC040 Emulator and the Mixed Mode Managert¿°dONLNd˝vuÇ)Î. These two new system softwarÖ‡°dONLNdvÇ    )çe °dONLNdÉäè˛(åäVservices work together to allow existing 680x0 applications, extensions, drivers, and °dONLNdsêäú≈*
  5827.  
  5828. other softwar™@°dONLNdÄê≈ú>);e to execute without modifi◊İdONLNdõê>úü)ycation on PowerPC pr˙`°dONLNdØêüúø)aocessor^@°dONLNd∂ê¿ú)!-based Macintosh °dONLNd«ùä©
  5829. (¶äQcomputers. The 68LC040 Emulator and the Mixed Mode Manager also make it possible °dONLNd™ä∂*
  5830. for parts of the system softwar$¿°dONLNd7™∂')áe to rk@°dONLNd=™'∂)5emain as 680x0 code, while other parts of the system °dONLNdr∑ä√´(¿äsoftwar‰¿°dONLNdy∑´√ª)!e arÛ`°dONLNd}∑ª√Δ)e r°dONLNdÄ∑«√L) eimplemented (primarily for r+`°dONLNdù∑L√)Ö(easons of speed) as native PowerPC code.°dONLNdΔ…ä’°(“ä>This chapter also describes the native PowerPC execution envirİdONLNd…¢’»(“¢onment. ö`°dONLNd …»’)&
  5831. Although the °dONLNd÷ä‚ì(fläprG °dONLNd÷î‚ )
  5832. Rocess-scheduling mechanism used for both native and emulated applications has not °dONLNdm„äÔ»(Ïächanged, the rCİdONLNd{„…Ô)?
  5833. un-time envir¶‡°dONLNdà„Ô¬)<)onment for PowerPC applications is signifi"`°dONLNd≤„√ÔÏ)æ
  5834. cantly dif»@°dONLNdº„ÏÔ¯))fer™¿°dONLNdø„¯Ô) ent °dONLNd√ä¸ë(˘äfrò‡°dONLNd≈ë¸∂)om the rû`°dONLNdÕ∂¸Ú)%
  5835. un-time envir¿°dONLNd⁄Û¸)==onment used for 680x0-based Macintosh applications. In cases °dONLNd˝ä    †(äwher7°dONLNd˝°    >)$e your application (or other softwarú °dONLNd?˝>    L)ùe) r˛†°dONLNdC˝L    ä)elies on featurİdONLNdR˝ã    —)?es of the 680x0 r« °dONLNdc˝—    ˆ)Fun-time °dONLNdk
  5836. ä°(äenvirn†°dONLNdp
  5837. °å)4onment, you’ll need to modify your application befor`°dONLNd§
  5838. çò)Ïe r°dONLNdß
  5839. ò) ecompiling it as a PowerPC °dONLNd¬ä#^( ä1application. For example, if your application dirc °dONLNdÛ^#‰)‘ectly accesses information storv‡°dONLNd‰#)Ü
  5840. ed in low °dONLNd$ä0i(-ä3memory (such as system global variables) or in its <†°dONLNdO$i0£)fl A5 world, yoK¿°dONLNd[$£0Œ):    u might nÉİdONLNdd$Œ0Ô)+eed to rØ`°dONLNdl$Ô0
  5841. )!ewrite °dONLNds1ä=≥(:ä
  5842. parts of yL†°dONLNd}1¥=    )*our application to ro†°dONLNdë1    =›)U.emove the dependence on that information. See nİdONLNdø1fi=ˆ)’“The °dONLNdƒ>äJÔ(GäPowerPC Native Envir]@°dONLNdÿ>ÔJm)eonment” beginning on page ´†°dONLNdÚ>mJ)~1-19ˇÄ°dONLNdˆ>Jœ) for complete instrÕ °dONLNd    >–J)Q uctions on °dONLNdKäWπ(Tä doing this.°dONLNd ]äiê*Y@İdONLNd!]êi¬) ou should r@°dONLNd,]√iõ)32ead this chapter if you want your application to r†°dONLNd^]õiÌ)ÿun on PowerPC pr
  5843.  °dONLNdn]Ói)Socessorn°dONLNdu]i) -°dONLNdwjäv˝(säObased Macintosh computers, either under the 68LC040 Emulator or in the PowerPC °dONLNdΔwäÉø*
  5844. native envirZ†°dONLNd“wøÉC)5onment. If you choose not to r `°dONLNdwCɢ)Ñ(ebuild your application for the PowerPC °dONLNdÑäê°(çäenvirn†°dONLNdѰê    )Ronment, you should at least make certain that it doesn’t violate any of the known °dONLNdoëäùç(öärE°dONLNdpëéù)estrictions on the emulator¶`°dONLNdãëù)u. See ˘`°dONLNdëëù©)“Emulator Limitations” on page ÷`°dONLNd∞ë™ù∑)ë1-8*@°dONLNd≥ë∏ùÊ)  for specifiT`°dONLNdøëÊù).    c informaé`°dONLNd»ëù)*-°dONLNd ûä™,(ßä$tion about the known operational difL@°dONLNdÓû-™9)£fer.¿°dONLNdÒû9™˚) )ences between the 68LC040 Emulator and a °dONLNd´ä∑π(¥ä
  5845. 680x0 micr@°dONLNd$´∫∑…)0oprV‡°dONLNd'´…∑È)ocessor+°dONLNd.´È∑Î) .°dONLNd0Ωä…ê(ΔäY@İdONLNd1Ωê…◊)ou should also r, °dONLNdAΩ◊…)GBead this chapter for information about the PowerPC execution envirÓ‡°dONLNdÉΩ…(Δon-°dONLNdá ä÷•(”äment. ”°dONLNdç •÷))Although the existing softwarÿİdONLNd™ )÷ )Ñ#e development tools build your sour”¿°dONLNdÕ  ÷)°
  5846. ce code into °dONLNd⁄◊ä„^(‡ä.executable PowerPC code that conforms to the ra‡°dONLNd    ◊^„u)‘equiry °dONLNd    
  5847. ◊u„·)ements of this new envir@°dONLNd    %◊‚„)monment, °dONLNd    -‰äG(Ìä)you might need to know about the native r懰dONLNd    V‰GÉ)Ω
  5848. un-time envir"@°dONLNd    c‰Ñ)=onment for debugging purposes °dONLNd    ÅÒä˝(˙äUor if your application uses external code modules. Otherwise, the new execution envirJ@°dONLNd    ÷Ò˝(˙on-°dONLNd    ⁄˛ä
  5849. )(ä"ment should be completely transpar
  5850. †°dONLNd    ¸˛*
  5851. ë)†ent to your application.°dONLNd
  5852. äê(äY@İdONLNd
  5853. ê)Vou should be able to accomplish much of the work involved in porting your application °dONLNd
  5854. lä)ë(&äfrò‡°dONLNd
  5855. në)    )Som the 680x0 platform to the PowerPC platform using the information in this chapter»°dONLNd
  5856. ¡    )(&    . °dONLNd
  5857. √*ä6*(3ä'If your application installs callback r;İdONLNd
  5858. Í*+6ó)°outines with nonstandarW¿°dONLNd *ó6˙)ld calling conventions, °dONLNd 7äC∞(@ähowever冰dONLNd 7∞C )&, you might need to rÙ‡°dONLNd 47 C)\6ead the chapter “Mixed Mode Manager” in this book. In °dONLNd jDäP·(MäOaddition, if your application explicitly loads external code modules (such as fiÖ¿°dONLNd ∫D·P(M·le trans˚ °dONLNd ¬DP) -°dONLNd ƒQä]‰(Zälators or custom defij`°dONLNd ŸQÂ] )[    nition pr‹‡°dONLNd ‚Q ]))&ocedurt °dONLNd ËQ*]í)es), you might need to r6‡°dONLNd Qì]¯)iead the chapter “Code °dONLNd ^äj(gäQFragment Manager” in this book. Read the chapter “Exception Manager” if you want °dONLNd gkäwÍ*
  5859. Ryour native application to handle any exceptions that arise while it is executing.°dONLNd ∫}äâê*Tµ¿°dONLNd ª}èâ‹)o use this chapterw °dONLNd Õ}‹â!)M, you should alrø`°dONLNd ›}!âÓ)E.eady be generally familiar with the Macintosh °dONLNd
  5860. ääñ(ìä Operating System. See the books ÄİdONLNd
  5861. +äñq)ìInside Macintosh: Pr4@°dONLNd
  5862. ?ärñç)Uocesses(İdONLNd
  5863. Fäéñ£) and †°dONLNd
  5864. Kä§ñ)Inside Macintosh: Memoryf†°dONLNd
  5865. cäñ)m °dONLNd
  5866. dóä£(†äfor information about the r˙°dONLNd
  5867. ó£<)v
  5868. un-time envir]`°dONLNd
  5869. åó=£)=*onment of 680x0-based Macintosh computers.ˇ"@ˇ ˇˇˇˇ@
  5870. ˇ·ˇ‚7^
  5871. 4*\¯, Palatino
  5872. &e.3+l"CHAPTER à)>1,     Helvetica
  5873.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  5874. (‡*1-4
  5875.     )B'Overview of the PowerPC System Software4^*¿¯
  5876. °dONLNd\lhh(el9This chapter begins with a description of the mixed envir≈@°dONLNd9\hhñ)¸    onment pr†°dONLNdB\óh÷)/ovided by the °dONLNdPilu€(rlPowerPC system softwarć°dONLNdfi€u—)o7e. Then it gives information about the native PowerPC r¿°dONLNdùi“u˜)˜un-time °dONLNd•vlÇÉ(lenvirn†°dONLNd™vÉÇ÷)Ionment. This chapter ends by explaining how to perform a number of specifiˆ†°dONLNdÙv÷Ç‹(÷c °dONLNd˜Élè„(åltasks in the PowerPC envir@°dONLNdɉèö)x'onment, such as patching system softwar‹ °dONLNd8Éôè∂)µe trapsô‡°dONLNd?É∑èπ).
  5877. ù*´¯4û*´¯
  5878.     °dONLNdAúlß(§lNote
  5879. ˇ·ˇ‚7^
  5880. °dONLNdF©lµâ*BFor ease of exposition, this book occasionally focuses on porting °dONLNdàµl¡´* applications fr ¿°dONLNd󵨡ˇ)@om the 680x0 envir ‡°dONLNd©µˇ¡Ç)Sonment to the PowerPC envir˙°dONLNdƒµÇ¡®)Éonment. °dONLNdálÕƒ( lIn general, however @°dONLNdfl¡ƒÕ)X, any changes rŸÄ°dONLNdÓ¡Õ)Aequir¿°dONLNdÛ¡Õz)ed for applications arÀ°dONLNd    ¡zÕÖ)^e rŸ†°dONLNd ¡ÖÕú) equir‡°dONLNd¡úÕ©)ed °dONLNdÕlŸ˛(÷l#also for all other kinds of softwarº‡°dONLNd7Õ˛Ÿ)íe.,
  5881.  
  5882. Zapf Dingbats
  5883. İdONLNd:– ÿ)
  5884. u
  5885. fl*˙¯4‡*˙¯
  5886. 
  5887. *¯4 *¯  * ˛
  5888. ˇ·ˇ‚7^
  5889. ˇˇ©ˇÆ°dONLNd=˜*
  5890. [(*&Overview of the PowerPC System Softwaræ\°dONLNdc˜[
  5891. b([eˇˇˇˇˇˇV˛)ï1
  5892. °dONLNdfl'¬($lThe system softwar↰dONLNdx¬')Ve for PowerPC pr    `°dONLNdà'/)Mocessorm@°dONLNdè/'Ó) *-based Macintosh computers is System 7.1, °dONLNdπ(l4*(1l*with suitable changes made to support the ‡°dONLNd„(*4É)æmixed environmentô†°dONLNdÙ(Ñ4Î)Z that allows both 680x0 °dONLNd 5lAç(>lsoftwar‰¿°dONLNd5çAı)!e and PowerPC softwar3@°dONLNd(5ˆAl)ie to execute on a computerø °dONLNdB5kA∏)u. The mixed envir3‡°dONLNdS5πA›)Nonment °dONLNdZBlNu(KlprG °dONLNd\BvNò)
  5893. Bovides virtually complete compatibility for existing 680x0 softwarw@°dONLNdûBòNÎ(Kòe, as well as vastly °dONLNd≥Ol[}(Xlincro°dONLNd∑O}[i)4eased performance for applications and other softwar˚‡°dONLNdÎOi[ç)Ï    e that ar‡†°dONLNdÙOç[ˆ)$e built to use the native °dONLNd\lhÄ(elinstró¿°dONLNd\Äh    )uction set of the PowerPC micrï °dONLNd1\    h)âopr—¿°dONLNd4\h8)ocessor•‡°dONLNd;\8h:) .°dONLNd=nlzÂ(wlBecause the system softwar醰dONLNdWnÂz1)ye for PowerPC pr`°dONLNdgn2zR)Mocessorr@°dONLNdnnRz›) -based Macintosh computers is °dONLNdå{láò(Ñl
  5894. derived frd‡°dONLNdñ{òá⁄),Dom System 7.1 for 680x0-based Macintosh computers, your application—°dONLNd⁄àlîg(ël4whether 680x0 or PowerPC—must conform to the basic rû‡°dONLNdàgî~)˚equir∂ °dONLNdà~î÷)ements imposed by °dONLNd%ïl°Æ(ûlsystem softwarM‡°dONLNd3ïØ°)Ce versions 7.0 and later∫°dONLNdKï°O)d. In particular`°dONLNdZïO°Í)<$, your application (or other softwar9‡°dONLNd~ïͰÙ)õe) °dONLNdÅ¢lÆè(´lmust be
  5895. °dONLNdâ∏løq*n
  5896. °dONLNdãµx¡™) 32-bit clean
  5897. °dONLNdò l—q(–ln
  5898. °dONLNdö«x”') 'compatible with the operations of the VİdONLNd¡«'”ë)Øirtual Memory Manager
  5899. °dONLNd◊‹l„q(‚ln
  5900. °dONLNdŸŸxÂã) >able to operate smoothly in the cooperative multitasking envir∏@°dONLNdŸãÂÒ(‚ãonment maintained by °dONLNd,ÂxÒí(Óxthe Pr¨°dONLNd2ÂíÒ”)
  5901. ocess Manager°dONLNd@ˆl†(ˇl If your 680xY`°dONLNdLˆ° )5    0 softwar> °dONLNdUˆ ’))e c¯°dONLNdXˆ’=) onforms to these specifidONLNdpˆ>H)ic rK °dONLNdsˆI`) equirb`°dONLNdxˆ`‘)ements and to the general °dONLNdílo( lrE°dONLNdìpá)equir\@°dONLNdòá·)ements for Macintosd`°dONLNd´·
  5902. )Z    h softwarİdONLNd¥ )*e d‡°dONLNd∑Y)
  5903.  
  5904. ocumented thr\@°dONLNdƒYÅ)Aoughout x`°dONLNdÃÅΔ)(Inside MacintoshZ`°dONLNd‹«fi)F, it is °dONLNd‰lï(l    highly prX‡°dONLNdÌï8))&obable that it will execute without pr9 °dONLNd8û)£oblems on PowerPC pr:@°dONLNd'ûæ)focessorû °dONLNd.æ›) -based °dONLNd5l)h(&l7Macintosh computers. This is because the system softwarİdONLNdli)µ)˝e for PowerPC prõ@°dONLNd|µ)’)Locessorˇ °dONLNdÉ’)Ù) -based °dONLNdä*l6Ø(3l
  5905. Macintosh com@°dONLNdó*∞6º)Dpu(İdONLNdô*º6) ters includes a very efÅİdONLNd∞*6")`fié@°dONLNd≤*"6ú)cient 68LC040 Emulator thaİdONLNdÃ*ù6“){ t emulates 6-°dONLNdÿ*“6Ë)580x0 °dONLNd›7lCÄ(@linstró¿°dONLNd‚7ÄCõ)uctionÄ¿°dONLNdË7úCø)s with PİdONLNd7¿C˙)$ owerPC instr[†°dONLNd¸7˙C®):(uctions. In addition, the system softwarÓ@°dONLNd$7®CÁ)Æe includes the °dONLNd3DlPŒ(MlMixed Mode Managerê`°dONLNdEDŒP˛)b , which is rÕ °dONLNdQD˛PÌ)04esponsible for handling any necessary mode switches °dONLNdÖQl](Zl between the native PowerPC envir∫@°dONLNd•Q]Ä)ôonment and the 680x0 envirî@°dONLNdøQÄ]°){onmentåİdONLNd≈Q¢]§)".°dONLNd«cloÑ(llFigurR¿°dONLNdÃcÑoò)e 1-1@°dONLNd—còon)/ shows a general overview of the system softwarR¿°dONLNd    cooª)◊e for PowerPC pr“İdONLNd    cªo€)Locessor6`°dONLNd    c‹ofl)!-°dONLNd    pl|Ë(ylbased Macintosh computersé °dONLNd    2pË|Ì)|. /¿°dONLNd    4pÌ|Ù)Aj`°dONLNd    5pÙ|^) small kernel, called the †°dONLNd    Op_|ï)k nanokernel,‘@°dONLNd    Zpï|⁄)6 communicates °dONLNd    h}lâx(ÜldirI °dONLNd    k}yâÌ)
  5906. ectly with the PowerPC prÁİdONLNd    Ñ}Ìâ-)tocessor and pr-@°dONLNd    í}.â€)A(ovides very low-level services (such as °dONLNd    ∫älñÑ(ìlinterr°dONLNd    ¿äÖñ<)$upt handling and memory management).ˇ"@ˇ ˇˇˇˇ@
  5907. ˇ·ˇ‚7^
  5908. 4H\, Palatino
  5909. &e.3+ä"CHAPTER à)>1,     Helvetica
  5910.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡ä'Overview of the PowerPC System Software
  5911. , (‡    1-5
  5912. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  5913. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿
  5914. gHw4gHw"hH]
  5915. ˇ·ˇ‚7^
  5916.     °dONLNd\äg¥(dä
  5917. Figure 1-1°dONLNd \ÃgÚ)BCThe system software for PowerPC processor-based Macintosh computers
  5918. °dONLNdPÒä˝(˙äEven applications written entir-`°dONLNdoÒ˝)â7ely in 680x0 code might cause mode switches while they °dONLNd¶˛ä
  5919. í(äarE°dONLNd®˛ì
  5920. ˛)    Oe executing, because some portions of the Macintosh Operating System have been °dONLNd˜ äç(ärE°dONLNd¯ é$)!ewritten in PowerPC code for incr√@°dONLNd $Ò)ñ+eased performance. For example, the Memory °dONLNdDä$‡(!äManager has been rQ†°dONLNdV·$4)Wewritten in C and rÔ‡°dONLNdi4$)S)ecompiled into PowerPC code. In general, °dONLNdí%ä1∞(.ähowever冰dONLNdô%∞1l)&), mode switches occur completely transpar °dONLNd¬%m1Œ)Ωently to 680x0 softwar(@°dONLNdÿ%Œ1)ae. Only native °dONLNdÁ2ä>◊(;äPowerPC softwar¿°dONLNdˆ2ÿ>ò)N*e needs to worry about mode switches. See g°dONLNd 2ò> )¿“Mixed Mode” beginning °dONLNd7?äKØ(Häon page !¿°dONLNd??∞K¬)&1-13u†°dONLNdC?¬KÛ)
  5921.  for details.°dONLNdQQä]C(Zä(As you would expect, the emulation envir# °dONLNdyQD]r)∫    onment prbİdONLNdÇQr]).ovided by the 68LC040 Emulator °dONLNd°^äj—(gäuses the standarŸ†°dONLNd±^—j˘)G    d 680x0 r¸†°dONLNd∫^˘j\)(un-time model. The or˛‡°dONLNdœ^\j)c'ganization of an application partition °dONLNdˆkäw±(tä    and the r) °dONLNdˇk≤wZ)($un-time behavior of emulated softwar@°dONLNd#kZwj)®e ar(‡°dONLNd'kjw—)e identical to what is pr§ °dONLNd@k—w)g
  5922. ovided on °dONLNdJxäÑP(Åä(680x0-based Macintosh computers. Howeveró@°dONLNdrxPÑ©)Δ, the execution envir °dONLNdáx™Ñ˚)Zonment for native °dONLNdôÖäë◊(éäPowerPC softwar¿°dONLNd®Öÿë)N e is signifiÅ¿°dONLNd¥Öë-),
  5923. cantly dif'†°dONLNdæÖ.ë:)*fer
  5924.  °dONLNd¡Ö:ëQ) ent frÄ`°dONLNd«ÖQëì)om the standarÿ¿°dONLNd’Öìëª)B    d 680x0 r˚¿°dONLNdfiÖªë˜)(
  5925. un-time envir_ °dONLNdÎÖ¯ë)=on-°dONLNdÔíäû¸(õäment. The PowerPC enviré¿°dONLNdí¸û*)r    onment prŒ °dONLNdí*ûΩ). ovides a much simpler and easierú@°dONLNd/íæû‚)î    -to-use rh@°dONLNd8í„û)%un-time °dONLNd@üä´(®ämodel based on fragments. m¿°dONLNdZü´ )zA®`°dONLNd[ü ´
  5926. ) (`°dONLNd\ü´7)fragment“°dONLNddü7´))1 is any block of executable PowerPC code and its °dONLNdï¨ä∏ (µäassociated data. Fragments ar@°dONLNd≤¨
  5927. ∏)Ée crë °dONLNd∂¨∏⁄))eated by your development system’s linkerõ¿°dONLNdfl¨⁄∏‹)æ.
  5928. wà⁄4uÜváò@@˜@˜vá∂~¡¡¡Êˇ¸fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiò@@Ę@Ę∂áˆ~Êˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiò@Äú˜Äú˜ˆá~Êˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiòů@˜HHgû¨5≈IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5929. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5930. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5931.  
  5932.  
  5933.  ˛êêê@˜vá∂~'ÅÅÅâÅÅÅâÅÅÅâÏ˝ÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏaÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÅÅÔ˝ÎŰÎÏÅÅ˝ÏŰÎÎÅÅ˝ÎŰÏÎÅÅ˝ÏŰÎÎÅÅ˝ÎŰÎÏÅÅ˝ÎŰÏÎÅÅ˝ÎŰÎÏÅÅ˝ÏŰÎÎÅÅ˝ÎŰÏÎÅÅ˝ÏŰÎÎÅÅ˝ÎŰÎÏÅÅ˝ÎŰÏÎÅÅ;˝ÎÈ˙ˇ˛ˇ˚˛ˇÔˇˇ‰ˇˇÂ˝ˇÌ˝ˇ˝ˇÔˇˇ„ˇˇÒÎÏÅÅF˝Ï͡ˇˇˇ˛ˇˇˇ˝ˇˇˇˇ—ˇˇÂˇˇˇˇÓˇˇ˛ˇˇˇ–ˇˇÒÎÎÅÅâ˝ÎÍ˝ˇ¸ˇ˘ˇˇˇ˛˛ˇ˛ˇ˝ˇ˘ˇ˛ˇ¸ˇ˛ˇ˛ˇ˛ˇÊˇˇ¸ˇˇˇ˝ˇ˛ˇ¸ˇ˛ˇ˙˛ˇ˛ˇÙˇ˛ˇ¸ˇ˛ˇ˛ˇ˛ˇÚÏÎÅÅe˝Ï͡ˇ˛ˇ˛ˇˇˇ¸ˇˇˇ¯ˇ˝ˇ˚ˇˇˇ˝ˇÚˇˇˇÂ˚ˇÍˇ˚¸ˇ˝ˇˆˇ˚ˇˆˇ˝ˇˇˇÒÎÎÅÅã˝Î͡ˇ˛ˇ˛ˇˇˇ¸ˇˇˇˇˇ˛˝ˇ˝ˇ˚ˇˇˇ˝ˇ˘ˇ˛˝ˇˇˇÂ    ˇˇˇˇˇˇ¸ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇ˝˝ˇ˘ˇˇˇ˚ˇ˘ˇ˝˝ˇˇˇÒÎÏÅÅá˝ÎÈ˛ˇ˛ˇ˛ˇ˘ˇ˝˘ˇˇˇ˝ˇ˛ˇ˝ˇ˚ˇ˘ˇ˛ˇÊˇˇ˛˛ˇˇˇˇˇ˚ˇˇˇ˛˝ˇ˝˝ˇ˝ˇˇˇ˝ˇ˛ˇ˝ˇ˚ˇ˝ˇ˝ˇ˛ˇÚÏÎÅÅ˝ÎŰÎÏÅÅ˝ÏŰÎÎÅÅ˝ÎŰÏÎÅÅ˝Ï˜°ˇ˜°ˇıÎÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÏÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÏÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÏÅÅ!˝Ï˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÏÎÅÅ!˝Ï˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÏÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÏÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÏÅÅ!˝Ï˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÏÎÅÅ!˝Ï˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÏÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÏÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÏÅÅ!˝Ï˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÎÅÅV˝Î˜ˇÔ‹˛ˇ‹‹ˇˇ‹‹ˇˇ˙‹ˇˇ‹ˇ‹ˇ˜‹ˇˇÈ‹ˇˇ¯ˇı‹˛ˇÌ‹˛ˇ˛‹ˇˇÔ‹ˇ‹ˇ˜‹ˇˇÔ‹ˇˇˆÏÎÅÅZ˝Ï˜ˇ‹ˇ˝‹ˇ‹‹ˇˇ‹‹ˇ¸‹ˇ‹‹ˇÒ‹ˇı‹ˇË‹ˇˇ¯ˇı‹ˇ‹‹ˇÓ‹ˇ‹‹ˇ‹ˇ‹‹ˇ‹ˇı‹ˇÓ‹ˇˇˆÎÎÅÅ§˝Î˜ˇ‹˛ˇ‹‹ˇ‹‹ˇˇ‹‹ˇ‹ˇ‹ˇ‹ˇ‹‹ˇ‹‹˛ˇ‹‹˛ˇ‹˛ˇ‹‹ˇ‹ˇ‹ˇˇ‹˛ˇ‹‹˛ˇ‹‹ˇˇ‹˛ˇÒ‹ˇˇ¯ˇı‹ˇ‹‹ˇ‹‹ˇˇ‹ˇ‹‹ˇ‹ˇ‹ˇˇ‹ˇˇ‹‹ˇ‹‹ˇˇ˙‹˛ˇ‹‹˛ˇ‹˛ˇ‹‹ˇ‹ˇ‹ˇˇ‹˛ˇ‹‹˛ˇ‹‹ˇˇ‹˛ˇ˜‹ˇˇˆÎÏÅÅ°˝Î˜ˇ‹ˇ‹‹ˇ‹‹ˇˇ‹ˇ‹‹ˇ‹‹ˇ‹‹ˇ‹‹ˇ˝‹#ˇˇ‹ˇ‹‹ˇˇ‹‹ˇ‹ˇ‹ˇˇ‹‹ˇ‹‹ˇˇ‹‹ˇˇ‹ˇ‹‹ˇˇ‹‹ˇÚ‹ˇˇ¯ˇı‹˛ˇ
  5934. ‹‹ˇ‹‹ˇˇ‹ˇˇ‹˚ˇ˛‹˛ˇ‹ˇ¯‹#ˇˇ‹ˇ‹‹ˇˇ‹‹ˇ‹ˇ‹ˇˇ‹‹ˇ‹‹ˇˇ‹‹ˇˇ‹ˇ‹‹ˇˇ‹‹ˇ¯‹ˇˇˆÏÎÅÅ¨˝Î˜ˇ‹)ˇ‹‹ˇ‹ˇ‹‹ˇˇ‹‹ˇ‹‹ˇ‹‹ˇ‹‹ˇ‹‹ˇˇ‹ˇ‹ˇ‹‹ˇˇ‹‹ˇ‹ˇ‹ˇˇ˛‹ˇˇ‹ˇ‹‹ˇˇ‹ˇ‹‹ˇˇ‹‹ˇÚ‹ˇˇ¯ˇı‹ˇ˝‹
  5935. ˇ‹‹ˇ‹ˇ‹ˇ‹ˇˇ˛‹ˇ˛‹ˇ˝‹ˇ‹‹ˇ˛‹ˇˇ‹ˇ‹ˇ‹‹ˇˇ‹‹ˇ‹ˇ‹ˇˇ˛‹ˇˇ‹ˇ‹‹ˇˇ‹ˇ‹‹ˇˇ‹‹ˇ¯‹ˇˇˆÎÏÅÅ¢˝Ï˜ˇÔ‹ˇˇ˛‹ˇˇ‹‹ˇˇ‹‹ˇ‹ˇ‹‹ˇˇ˝‹˛ˇ‹˛ˇ‹˛ˇ‹‹ˇ‹ˇ‹˛ˇ‹˛ˇ ‹‹ˇˇ‹‹ˇˇ‹ˇ‹‹ˇÚ‹ˇˇ¯ˇı‹ˇ¸‹    ˇˇ‹‹ˇ‹‹ˇ‹‹˝ˇ˛‹ˇ¸‹ˇˇ¸‹˛ˇ‹˛ˇ‹˛ˇ‹‹ˇ‹ˇ‹˛ˇ‹˛ˇ ‹‹ˇˇ‹‹ˇˇ‹ˇ‹‹ˇ¯‹ˇˇˆÎÎÅÅ1˝Î˜ˇ”‹ˇ˛‹ˇ÷‹ˇˇ¯ˇÕ‹ˇ˛‹ˇ‹‹ˇˇˆÏÎÅÅ1˝Ï˜ˇ”‹ˇ˛‹ˇ÷‹ˇˇ¯ˇÕ‹ˇ˛‹ˇ‹‹ˇˇˆÎÎÅÅ1˝Î˜ˇ”‹ˇ˛‹ˇ÷‹ˇˇ¯ˇÕ‹ˇ˛‹ˇ‹‹ˇˇˆÎÏÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÏÎÅÅ&˝Î˜ˇ£‹ˇˇ¯ˇ—‹ˇˇ’‹ˇˇˆÎÏÅÅ*˝Ï˜ˇ“‹ˇˇ‘‹ˇˇ¯ˇ“‹˝ˇ÷‹ˇˇˆÎÎÅÅ.˝Î˜ˇ”‹˝ˇ’‹ˇˇ¯ˇ”‹ˇˇˇˇ◊‹ˇˇˆÏÎÅÅ4˝Ï˜ˇ‘‹ˇˇˇˇ÷‹ˇˇ¯ˇ‘‹ˇˇ˝ˇˇÿ‹ˇˇˆÎÎÅÅ5˝Î˜ˇ’‹ˇˇ˝ˇˇ◊‹ˇˇ¯ˇ’‹ˇˇ˚ˇˇŸ‹ˇˇˆÎÏÅÅ5˝Î˜ˇ÷‹ˇˇ˚ˇˇÿ‹ˇˇ¯ˇ÷‹ˇˇ˘ˇˇ⁄‹ˇˇˆÏÎÅÅ5˝Î˜ˇ◊‹ˇˇ˘ˇˇŸ‹ˇˇ¯ˇ◊‹ˇˇ˜ˇˇ€‹ˇˇˆÎÏÅÅ5˝Ï˜ˇÿ‹ˇˇ˜ˇˇ⁄‹ˇˇ¯ˇÿ‹ˇˇıˇˇ‹‹ˇˇˆÎÎÅÅ5˝Î˜ˇŸ‹ˇˇıˇˇ€‹ˇˇ¯ˇŸ‹ˇˇÛˇˇ›‹ˇˇˆÏÎÅÅ8˝Ï˜ˇ⁄‹ˇˇÛˇˇ‹‹ˇˇ¯ˇ⁄‹ˇˇ¯˚ˇˇˇfi‹ˇˇˆÎÎÅÅ>˝Î˜ˇÎ‹Ôˇ˘˙ˇÙˇË‹ˇˇ¯ˇË‹Úˇ¯ˇˇ˝ˇˇÛˇÎ‹ˇˇˆÎÏÅÅw˝Î˜ˇÌ‹˛ˇ˛ËÁ˛ËÁ˛ËÁËˡˇ¯ˇ¸ˇˇˇˇ˛ËÁ˛ËÁˡˇÈ‹ˇˇ¯ˇÈ‹ˇˇËËÁ˛ËÁ˛ËÁˇˇ¯ˇˇ˚ˇˇˇ˛ËÁ˛ËÁË˲ˇÌ‹ˇˇˆÏÎÅÅòů@ĘHHgû®5ΔIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5936. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5937. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5938.  
  5939.  
  5940.  ˛êêê@Ę∂áˆ~'w˝Î˜ˇÓ‹ˇˇÁËËÁÁËËÁÁËËÁÁËˡˇ¯˝ˇ˝ˇˇˇˇÁÁËËÁÁËËÁˇˇÍ‹ˇˇ¯ˇÍ‹ˇˇËÁÁËËÁÁËËÁÁˡˇ¯˜ˇˇˇËÁÁËËÁÁËËÁÁˡˇÓ‹ˇˇˆÎÏÅÅ{˝Ï˜ˇÔ‹ˇˇËËÁÁËËÁÁËËÁÁËËÁÁˇˇ˚ˆˇ˝ˇ ËËÁÁËËÁÁËˡˇÎ‹ˇˇ¯ˇÎ‹ˇˇÁÁËËÁÁËËÁÁËËÁÁˇˇ¸ˆˇ˛ˇÁÁËËÁÁËËÁÁËËÁÁˇˇÔ‹ˇˇˆÎÎÅÅÅ˝Î˜ˇÔ‹ˇËÁ˛ËÁ˛ËÁ˛ËÁ˛ËÁˇˇ¸ˆˇ˛ˇÁ˛ËÁ˛ËÁËˡ΋ˇˇ¯ˇÎ‹ˇ˛ËÁ˛ËÁ˛ËÁ˛ËÁˇˇ˚ˇˇˇˇ˚˛ˇËÁ˛ËÁ˛ËÁ˛ËÁˇÔ‹ˇˇˆÏÎÅÅZ˝Ï˜ˇÔ‹ˇÁËËÁÁËÚˇ˚˛ˇ˘˘ˇËÁÁËËÁˇˇÏ‹ˇˇ¯ˇÎ‹ˇËÁÁËËÁÙˇ˚˛ˇ˙ˆˇÁËËÁÁˡԋˇˇˆÎÎÅÅh˝Î˜ˇÔ‹ˇËÁÁËˡˇÙ‹ˇˇ˙˛ˇ˚˛ˇ˝‹˛ˇËÁÁËËˇÏ‹ˇˇ¯ˇÏ‹ˇˇÁËËÁ˛ˇˆ‹ˇˇ˙˛ˇ¸˛ˇ˙‹ˇˇÁÁËËÁˇˇ‹ˇˇˆÎÏÅÅa˝Î˜ˇ‹ˇˇ˛ËÁˡڋˇˇ˘˛ˇ˝˛ˇ˚‹ˇ˛ËÁËˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁËËˇÛ‹ˇˇ˘¯ˇ˘‹ˇËËÁ˛Ëˇ‹ˇˇˆÏÎÅÅa˝Î˜ˇ‹ˇËËÁÁˡˇÒ‹ˇˇ¯˘ˇ˚‹ˇˇÁÁËËˇÏ‹ˇˇ¯ˇÏ‹ˇÁÁËËÁˇÚ‹ˇˇ˘ˇˇ‹˝ˇ¯‹ˇˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅc˝Ï˜ˇ‹ˇÁÁËËÁˇÔ‹ˇˇ˘ˇˇ‹˝ˇ˘‹ˇËËÁÁˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁÁËˇÒ‹ˇˇ˚ˇˇ˛‹˛ˇ˜‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅe˝Î˜ˇ‹ˇËËÁËˡӋˇˇ˚ˇˇ˛‹˛ˇ˘‹ˇÁ˛ËˇÏ‹ˇˇ¯ˇÏ‹ˇÁ˛Ëˇˇ‹ˇˇ˝ˇˇ¸‹ˇˇ˜‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅ^˝Ï˜ˇ‹ˇÁÁËËÁˇÌ‹ˇˇ˝ˇˇ˚‹ˇ˘‹ˇËËÁÁˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁÁˇÓ‹ˇˇˇˇÔ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅT˝Î˜ˇ‹ˇËËÁÁËˇÏ‹ˇˇˇˇÒ‹ˇÁÁËËˇÏ‹ˇˇ¯ˇÏ‹ˇÁÁËËˇÌ‹˝ˇÓ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅP˝Î˜ˇ‹ˇÁ˛ËÁˇÎ‹˝ˇ‹ˇËËÁËˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁËˇÏ‹ˇˇÌ‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅL˝Î˜ˇ‹ˇËËÁÁˡ͋ˇˇÔ‹ˇÁÁËËˇÏ‹ˇˇ¯ˇÏ‹ˇÁÁËˡ÷‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅG˝Ï˜ˇ‹ˇÁÁËËÁˇ÷‹ˇËËÁÁˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁÁˇ÷‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅG˝Î˜ˇ‹ˇËËÁËˡ÷‹ˇÁ˛ËˇÏ‹ˇˇ¯ˇÏ‹ˇÁ˛Ëˇ÷‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅG˝Ï˜ˇ‹ˇÁÁËËÁˇ÷‹ˇËËÁÁˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁÁˇ÷‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅG˝Î˜ˇ‹ˇËËÁÁˡ÷‹ˇÁÁËËˇÏ‹ˇˇ¯ˇÏ‹ˇÁÁËˡ÷‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅG˝Î˜ˇ‹ˇÁ˛ËÁˇ÷‹ˇËËÁËˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁˡ÷‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅG˝Î˜ˇ‹ˇËËÁÁˡ÷‹ˇÁÁËËˇÏ‹ˇˇ¯ˇÏ‹ˇÁÁËˡ÷‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅG˝Ï˜ˇ‹ˇÁÁËËÁˇ÷‹ˇËËÁÁˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁÁˇ÷‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅI˝Î˜ˇ‹ˇËËÁËˡÿ‹˛ˇÁ˛Ë˝ˇÔ‹ˇˇ¯ˇÓ‹˛ˇÁ˛Ë˝ˇŸ‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅO˝Ï˜ˇ‹ˇÁÁËËÁˇÿ‹    ˇˇÁËËÁÁˡˇÓ‹ˇˇ¯ˇÓ‹    ˇˇÁËËÁÁˡˇÿ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅK˝Î˜ˇ‹ˇËËÁÁˡ◊‹ˇˇÁÁËˡˇÌ‹ˇˇ¯ˇÌ‹ˇˇÁÁËËÁˇ◊‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅH˝Î˜ˇ‹ˇÁ˛ËÁˇ÷‹ˇˇËÁˇˇÏ‹ˇˇ¯ˇÏ‹ˇˇËÁˡˇ◊‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅA˝Î˜ˇ‹ˇËËÁÁˡ’‹˝ˇÎ‹ˇˇ¯ˇÎ‹ˇˇËˇˇ÷‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅ>˝Ï˜ˇ‹ˇÁÁËËÁˇ‘‹ˇˇÍ‹ˇˇ¯ˇÍ‹˛ˇ’‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ5˝Î˜ˇ‹ˇËËÁËˡª‹ˇˇ¯ˇª‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅ5˝Ï˜ˇ‹ˇÁÁËËÁˇª‹ˇˇ¯ˇª‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ0˝Î˜ˇ‹ˇËËÁÁˡ‚‹•ˇ‰‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅ5˝Î˜ˇ‹ˇÁ˛ËÁˇ‚‹ˇßˇˇÂ‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅ5˝Î˜ˇ‹ˇËËÁÁˡ‚‹ˇßˇˇÂ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅ5˝Ï˜ˇ‹ˇÁÁËËÁˇ‚‹ˇßˇˇÂ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ5˝Î˜ˇ‹ˇËËÁËˡ‚‹ˇßˇˇÂ‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅ5˝Ï˜ˇ‹ˇÁÁËËÁˇ‚‹ˇßˇˇÂ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ5˝Î˜ˇ‹ˇËËÁÁˡ‚‹ˇßˇˇÂ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅ5˝Î˜ˇ‹ˇÁ˛ËÁˇ‚‹ˇßˇˇÂ‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅV˝Î˜ˇ‹ˇËËÁÁˡ‚‹ˇ˙ˇ˛ˇˇÙˇˇ˛ˇ¯ˇ˘ˇ˛ˇ·ˇˇÂ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅT˝Ï˜ˇ‹ˇÁÁËËÁˇ‚‹ˇ˙ˇˇˇˇÚˇˇˇˇˇ¯ˇ˘ˇˇˇˇ·ˇˇÂ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅÅ˝Î˜ˇ‹ˇËËÁËˡ‚‹ˇ˙ˇˇˇˇˇˇˇˇˇ˛˛ˇˇˇˇˇ˛ˇˇ˛ˇˇˇ˝ˇˇˇˇ˛ˇ˛ˇ˛ˇ˛˛ˇˇˇˇˇ˚ˇˇÂ‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅ˝Ï˜ˇ‹ˇÁÁËËÁˇ‚‹ˇ˙ ˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇˇˇˇ˛ˇˇˇˇˇˇˇ¸ˇˇ˙ˇˇÂ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ˝Î˜ˇ‹ˇËËÁÁˡ‚‹ˇ˙ ˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇˇ˚
  5941. ˇˇˇˇˇˇˇ˛ˇˇˇˇˇ˝ˇ˙ˇˇÂ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅÉ˝Î˜ˇ‹ˇÁ˛ËÁˇ‚‹ˇ˙ ˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇˇˇ˛ˇˇˇ˛ˇ˛ˇ˛ˇˇ˙ˇˇÂ‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅ9˝Î˜ˇ‹ˇËËÁÁˡ‚‹ˇµˇÙˇˇÂ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅ9˝Ï˜ˇ‹ˇÁÁËËÁˇ‚‹ˇ∏˛ˇÛˇˇÂ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ5˝Î˜ˇ‹ˇËËÁËˡ‚‹ˇßˇˇÂ‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅ5˝Ï˜ˇ‹ˇÁÁËËÁˇ‚‹ˇßˇˇÂ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ5˝Î˜ˇ‹ˇËËÁÁˡ‚‹ˇßˇˇÂ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅ5˝Î˜ˇ‹ˇÁ˛ËÁˇ‚‹ˇßˇˇÂ‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅ5˝Î˜ˇ‹ˇËËÁÁˡ‚‹ˇßˇˇÂ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅ0˝Ï˜ˇ‹ˇÁÁËËÁˇ‚‹§ˇÂ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ0˝Î˜ˇ‹ˇËËÁËˡ·‹•ˇÂ‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅ5˝Ï˜ˇ‹ˇÁÁËËÁˇª‹ˇˇ¯ˇª‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅ?˝Î˜ˇ‹ˇËËÁÁˡ‘‹ˇˇÍ‹ˇˇ¯ˇÍ‹ˇˇ‘‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅ=˝Î˜ˇ‹ˇÁ˛ËÁˇ’‹˝ˇÎ‹ˇˇ¯ˇÎ‹˝ˇ’‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅG˝Î˜ˇ‹ˇËËÁÁˡ÷‹ˇˇÁˡˇÏ‹ˇˇ¯ˇÏ‹ˇˇÁˡˇ÷‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅK˝Ï˜ˇ‹ˇÁÁËËÁˇ◊‹ˇˇËËÁÁˇˇÌ‹ˇˇ¯ˇÌ‹ˇˇËËÁÁˇˇ◊‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅO˝Î˜ˇ‹ˇËËÁËˡÿ‹ˇˇËÁ˛ËÁˇˇÓ‹ˇˇ¯ˇÓ‹ˇˇËÁ˛ËÁˇˇÿ‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅK˝Ï˜ˇ‹ˇÁÁËËÁˇÿ‹˛ˇËËÁÁ˛ˇÓ‹ˇˇ¯ˇÓ‹˛ˇËËÁÁ˛ˇÿ‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅG˝Î˜ˇ‹ˇËËÁÁˡ÷‹ˇÁÁËËˇÏ‹ˇˇ¯ˇÏ‹ˇÁÁËˡ÷‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅG˝Î˜ˇ‹ˇÁ˛ËÁˇ÷‹ˇËËÁËˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁˡ÷‹ˇËÁ˛Ëˇ‹ˇˇˆÏÎÅÅG˝Î˜ˇ‹ˇËËÁÁˡ÷‹ˇÁÁËËˇÏ‹ˇˇ¯ˇÏ‹ˇÁÁËˡ÷‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅG˝Ï˜ˇ‹ˇÁÁËËÁˇ÷‹ˇËËÁÁˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁÁˇ÷‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅG˝Î˜ˇ‹ˇËËÁËˡ÷‹ˇÁ˛ËˇÏ‹ˇˇ¯ˇÏ‹ˇÁ˛Ëˇ÷‹ˇ˛ËÁˡ‹ˇˇˆÏÎÅÅG˝Ï˜ˇ‹ˇÁÁËËÁˇ÷‹ˇËËÁÁˇÏ‹ˇˇ¯ˇÏ‹ˇËËÁÁˇ÷‹ˇËÁÁËˡ‹ˇˇˆÎÎÅÅòůÄú˜HHgû¨5«Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5942. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5943. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5944.  
  5945.  
  5946.  ˛êêêÄú˜ˆá~'K˝Î˜ˇ‹ˇËËÁÁˡÿ‹˛ˇÁÁË˲ˇÓ‹ˇˇ¯ˇÓ‹˛ˇÁÁË˲ˇÿ‹ˇÁËËÁÁˇ‹ˇˇˆÎÏÅÅR˝Î˜ˇÚ‹˛ˇÁ˛ËÁ˛ˇ⁄‹ˇˇ˛ËÁËˡˇÓ‹ˇˇ¯ˇÓ‹ˇˇ˛ËÁËˡˇ⁄‹˛ˇËÁ˛Ë˛ˇÚ‹ˇˇˆÏÎÅÅO˝Î˜ˇÒ‹ˇˇËËÁÁˡˇÿ‹ˇˇÁÁËˡˇÌ‹ˇˇ¯ˇÌ‹ˇˇÁÁËˡˇÿ‹ˇˇÁËËÁÁˇˇÒ‹ˇˇˆÎÏÅÅG˝Ï˜ˇ‹ˇˇÁËˡˇ÷‹ˇˇËÁˇˇÏ‹ˇˇ¯ˇÏ‹ˇˇËÁˇˇ÷‹ˇˇÁÁˡˇ‹ˇˇˆÎÎÅÅ9˝Î˜ˇÔ‹ˇˇÁˇˇ‘‹˝ˇÎ‹ˇˇ¯ˇÎ‹˝ˇ‘‹ˇˇËˇˇÔ‹ˇˇˆÏÎÅÅ3˝Ï˜ˇÓ‹˛ˇ“‹ˇˇÍ‹ˇˇ¯ˇÍ‹ˇˇ“‹˛ˇÓ‹ˇˇˆÎÎÅÅ)˝Î˜ˇÌ‹ˇ∏‹ˇˇ¯ˇ∏‹ˇÌ‹ˇˇˆÎÏÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÏÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÏÅÅ)˝Ï˜ˇ¯‹µˇ¯‹ˇˇ¯ˇ˜‹µˇ˘‹ˇˇˆÎÎÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÏÎÅÅ3˝Ï˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÎÎÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÎÏÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÏÎÅÅR˝Î˜ˇ¯‹ˇÁ˛ˇˇˇˇˇ˙ˇˇÊˇˇ¯‹ˇˇ¯ˇ˜‹ˇÏ˛ˇÓ˛ˇ˝ˇˇÏˇˇ˘‹ˇˇˆÎÏÅÅ]˝Ï˜ˇ¯‹ˇËˇ˝ˇˇˇˇ¸ˇˇÁˇˇ¯‹ˇˇ¯ˇ˜‹ˇÏˇˇÔ    ˇˇˇˇÌˇˇ˘‹ˇˇˆÎÎÅÅj˝Î˜ˇ¯‹ˇË˛ˇˇˇˇˇˇˇˇˇÁˇˇ¯‹ˇˇ¯ˇ˜‹ˇÏˇˇˇˇˇˇˇˇˇˇˇˇˇˇÈˇˇ˘‹ˇˇˆÏÎÅÅh˝Ï˜ˇ¯‹ˇËˇˇˇˇˇˇˇˇˇÁˇˇ¯‹ˇˇ¯ˇ˜‹ˇÏ˛ˇ    ˇˇˇˇˇ¸ˇˇ˛ˇˇÈˇˇ˘‹ˇˇˆÎÎÅÅl˝Î˜ˇ¯‹ˇËˇˇˇˇˇˇˇˇˇÁˇˇ¯‹ˇˇ¯ˇ˜‹ˇÏˇ˛
  5947. ˇˇˇˇˇˇ˝ˇˇ¸ˇˇÌˇˇ˘‹ˇˇˆÎÏÅÅh˝Î˜ˇ¯‹ˇÁˇˇ˛ˇˇˇˇˇˇˇˇÊˇˇ¯‹ˇˇ¯ˇ˜‹ˇÏˇ˝    ˇˇˇˇ˛ˇˇˇ˚ˇˇÏˇˇ˘‹ˇˇˆÏÎÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÎÏÅÅ3˝Ï˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÎÎÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÏÎÅÅF˝Ï˜ˇ¯‹ˇÏ◊È◊◊Èˇˇ¯‹ˇˇ¯ˇ˜‹ˇÏ◊È◊◊ˡˇ˘‹ˇˇˆÎÎÅÅH˝Î˜ˇ¯‹ˇÏ◊Í◊◊Èˇˇ¯‹ˇˇ¯ˇ˜‹ˇÏ◊Í◊◊ˡˇ˘‹ˇˇˆÎÏÅÅô˝Î˜ˇ¯‹ˇ¯
  5948. ◊◊◊◊◊◊◊˛◊◊◊◊◊◊˚◊◊◊◊˚◊◊˝◊◊◊◊◊˘ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ¯
  5949. ◊◊◊◊◊◊◊¸◊◊◊◊˚◊◊◊◊¸◊◊˝◊◊◊◊◊¯ˇˇ˘‹ˇˇˆÏÎÅÅì˝Î˜ˇ¯‹ˇ˘¸◊◊˝◊◊¸◊◊◊˝¸◊◊◊◊◊◊◊◊˛◊˝◊˙ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ˘¸◊◊˝◊˚◊◊◊˝¸◊◊◊◊◊◊◊◊˛◊˝◊˘ˇˇ˘‹ˇˇˆÎÏÅÅ§˝Ï˜ˇ¯‹ˇ˘◊◊◊◊◊◊◊◊◊◊˛◊◊◊˝◊◊◊◊◊◊◊◊◊˛◊◊◊◊˜ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ˘◊◊◊◊◊◊◊◊◊◊˛◊◊◊˝◊◊◊◊◊◊◊◊◊˛◊◊◊◊ˆˇˇ˘‹ˇˇˆÎÎÅÅò@@˜@˜áR~Êˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiò@@Ę@ĘRáí~Êˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiò@Äú˜Äú˜íáÆ~Êˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiòů@˜HHgû®5»Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5950. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5951. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5952.  
  5953.  
  5954.  ˛êêê@˜áR~'ö˝Î˜ˇ¯‹ˇ¯◊◊◊˛◊◊◊◊˝◊◊◊¸
  5955. ◊◊◊◊◊˛◊◊˝◊˛˛◊˙ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ¯◊◊◊˛◊◊˚◊◊◊¸◊◊◊◊˛◊˛◊◊˝◊˛˛◊˘ˇˇ˘‹ˇˇˆÏÎÅÅ;˝Ï˜ˇ¯‹ˇÙ◊Δˇˇ¯‹ˇˇ¯ˇ˜‹ˇÙ◊Δˇˇ˘‹ˇˇˆÎÎÅÅ;˝Î˜ˇ¯‹ˇı◊≈ˇˇ¯‹ˇˇ¯ˇ˜‹ˇı◊≈ˇˇ˘‹ˇˇˆÎÏÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÏÎÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÎÏÅÅ3˝Ï˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÎÎÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÏÎÅÅ3˝Ï˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÎÎÅÅ3˝Î˜ˇ¯‹ˇ∏ˇˇ¯‹ˇˇ¯ˇ˜‹ˇ∏ˇˇ˘‹ˇˇˆÎÏÅÅ)˝Î˜ˇ¯‹µˇ¯‹ˇˇ¯ˇ˜‹µˇ˘‹ˇˇˆÏÎÅÅ!˝Î˜ˇ£‹ˇˇ¯ˇ£‹ˇˇˆÎÏÅÅ%˝Ï˜ˇ“‹ˇ”‹ˇˇ¯ˇ£‹ˇˇˆÎÎÅÅ)˝Î˜ˇ”‹˛ˇ‘‹ˇˇ¯ˇ”‹˛ˇ‘‹ˇˇˆÏÎÅÅ1˝Ï˜ˇ‘‹ˇˇÁˇˇ’‹ˇˇ¯ˇ‘‹ˇˇËˇˇ’‹ˇˇˆÎÎÅÅ5˝Î˜ˇ’‹ˇˇËËÁˇˇ÷‹ˇˇ¯ˇ’‹ˇˇÁÁˡˇ÷‹ˇˇˆÎÏÅÅ9˝Î˜ˇ÷‹ˇˇËÁ˛Ëˇˇ◊‹ˇˇ¯ˇ÷‹ˇˇ˛ËÁˡˇ◊‹ˇˇˆÏÎÅÅ;˝Î˜ˇ◊‹˛ˇÁËËÁÁ˛ˇÿ‹ˇˇ¯ˇ◊‹
  5956. ˇˇËËÁÁËËÁˇˇÿ‹ˇˇˆÎÏÅÅ7˝Ï˜ˇ’‹ˇËÁÁËˡ÷‹ˇˇ¯ˇ◊‹˛ˇÁËËÁÁ˛ˇÿ‹ˇˇˆÎÎÅÅ5˝Î˜ˇ’‹ˇ˛ËÁˡ÷‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅ5˝Ï˜ˇ’‹ˇËÁÁËˡ÷‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ5˝Î˜ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ6˝Î˜ˇ◊‹˛ˇËÁ˛Ë˛ˇÿ‹ˇˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅ9˝Î˜ˇ◊‹
  5957. ˇˇÁÁËËÁÁˡˇÿ‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ7˝Ï˜ˇ÷‹ˇˇËÁÁËˡˇ◊‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ5˝Î˜ˇ’‹ˇˇËËÁˇˇ÷‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅ3˝Ï˜ˇ‘‹ˇˇÁˇˇ’‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ/˝Î˜ˇ”‹˛ˇ‘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ+˝Î˜ˇ£‹ˇˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅ+˝Î˜ˇ£‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ/˝Ï˜ˇ˜‹µˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅ4˝Ï˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅQ˝Î˜ˇ˜‹ˇÌ˛ˇˇˇˇ¸ˇˇˇˇ˝ˇˇˇÍˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅU˝Ï˜ˇ˜‹ˇÓˇ˝ˇˇˇ˝ˇˇˇˇˇˇˇˇÎˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅU˝Î˜ˇ˜‹ˇÓ˛ˇˇˇˇ˛ˇ˝ ˇˇˇˇˇˇÎˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅT˝Ï˜ˇ˜‹ˇÓ
  5958. ˇˇˇˇˇ˛ˇ˝ˇˇ¸ˇˇÎˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅV˝Î˜ˇ˜‹ˇÓ
  5959. ˇˇˇˇˇ˝ˇˇˇˇ˛ˇˇˇÎˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅS˝Î˜ˇ˜‹ˇÌˇˇ˛ˇˇ˝ˇˇˇˇˇ˝ˇˇˇÍˇˇ˘‹ˇˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ4˝Ï˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅ@˝Ï˜ˇ˜‹ˇÎ˝ˇˆˇ˚ˇÂˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ@˝Î˜ˇ˜‹ˇÎˇÛˇ˚ˇÂˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅS˝Î˜ˇ˜‹ˇÎˇ˛ ˇˇˇˇˇˇ˛ˇ¸ˇˇˇÏˇˇ˘‹ˇˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅQ˝Î˜ˇ˜‹ˇÎ¸ˇ
  5960. ˇˇˇˇˇ˛    ˇˇˇˇˇˇÎˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅT˝Ï˜ˇ˜‹ˇÎˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇÎˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅP˝Î˜ˇ˜‹ˇÎ¸ˇˇˇ˛ˇˇ˛ˇ˝ˇˇÎˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅ4˝Ï˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ4˝Ï˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅ4˝Ï˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ4˝Î˜ˇ˜‹ˇ∏ˇˇ˘‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ/˝Î˜ˇ˜‹µˇ˘‹ˇˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅ+˝Î˜ˇ£‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ/˝Ï˜ˇ“‹ˇ”‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ/˝Î˜ˇ”‹˛ˇ‘‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅ3˝Ï˜ˇ‘‹ˇˇÁˇˇ’‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ5˝Î˜ˇ’‹ˇˇËËÁˇˇ÷‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ7˝Î˜ˇ÷‹ˇˇËÁ˛Ëˇˇ◊‹ˇˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅòů@ĘHHgû¨5…IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5961. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5962. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5963.  
  5964.  
  5965.  ˛êêê@ĘRáí~'7˝Î˜ˇ◊‹˛ˇÁËËÁÁ˛ˇÿ‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ5˝Ï˜ˇ’‹ˇËÁÁËˡ÷‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ5˝Î˜ˇ’‹ˇ˛ËÁˡ÷‹ˇˇ¯ˇ’‹ˇËÁ˛Ëˇ÷‹ˇˇˆÏÎÅÅ5˝Ï˜ˇ’‹ˇËÁÁËˡ÷‹ˇˇ¯ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇˆÎÎÅÅ5˝Î˜ˇ’‹ˇÁËËÁÁˇ÷‹ˇˇ¯ˇ’‹ˇËÁÁËˡ÷‹ˇˇˆÎÏÅÅ-˝Î˜”ˇËÁ˛Ë”ˇ¯ˇ’‹ˇ˛ËÁˡ÷‹ˇˇˆÏÎÅÅ%˝Î ˇÁËËÁÁˇÀ”ˇËÁÁËË”ˇˆÎÏÅÅ#˝Ï ˇËÁÁËˡûˇÁËËÁÁˇ…ÎÎÅÅ#˝Î ˇ˛ËÁˡûˇËÁ˛Ëˇ…ÏÎÅÅ#˝Ï ˇËÁÁËˡûˇÁËËÁÁˇ…ÎÎÅÅ#˝Î ˇÁËËÁÁˇûˇËÁÁËˡ…ÎÏÅÅ#˝Î ˇËÁ˛Ëˇûˇ˛ËÁˡ…ÏÎÅÅ#˝Î ˇÁËËÁÁˇûˇËÁÁËˡ…ÎÏÅÅ#˝Ï ˇËÁÁËˡûˇÁËËÁÁˇ…ÎÎÅÅ%˝ÎÃ˛ˇ˛ËÁ˲ˇ¢˛ˇËÁ˛Ë˛ˇÀÏÎÅÅ'˝ÏÀˇˇËÁÁËˡˇ†ˇˇÁËËÁÁˇˇ ÎÎÅÅ#˝Î ˇˇËËÁˇˇûˇˇÁÁˡˇ…ÎÏÅÅ˝Î…ˇˇËˇˇúˇˇËˇˇ»ÏÎÅÅ˝Î»˛ˇö˛ˇ«ÎÏÅÅ˝Ï«ˇòˇΔÎÎÅÅ˝ÎŰÏÎÅÅ˝ÏÌŎÀˇÎÎÎÅÅ˝ÎÌˇÅÕˇˇÏÎÏÅÅ˝ÎÌˇÅÕˇˇÏÏÎÅÅ˝ÎÌˇÅÕˇˇÏÎÏÅÅ˝ÏÌˇÅÕˇˇÏÎÎÅÅ˝ÎÌˇÅÕˇˇÏÏÎÅÅ˝ÏÌˇÅÕˇˇÏÎÎÅÅ˝ÎÌˇÅÕˇˇÏÎÏÅÅ(˝ÎÌˇ∫ˇ˛ˇÛˇÓˇºˇˇÏÏÎÅÅ(˝ÎÌˇ∫ˇˇˇÛˇÓˇºˇˇÏÎÏÅÅ?˝ÏÌˇ∫ˇˇˇ˛ˇ˛ˇ˛ ˇˇˇˇˇˇˇ¸ˇ˛ˇˇˇºˇˇÏÎÎÅÅ>˝ÎÌˇ∫ˇˇˇ˛˛ˇˇˇ˛ˇ˝ˇˇˇˇ¸ˇºˇˇÏÏÎÅÅB˝ÏÌˇ∫ˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇ˛ˇºˇˇÏÎÎÅÅ@˝ÎÌˇ∫ˇ˛ˇ˝ˇ ˇˇˇˇˇ˛ˇˇˇˇ˝ˇºˇˇÏÎÏÅÅ˝ÎÌˇÅÕˇˇÏÏÎÅÅ˝ÎÌˇÅÕˇˇÏÎÏÅÅ˝ÏÌˇÅÕˇˇÏÎÎÅÅ˝ÎÌˇÅÕˇˇÏÏÎÅÅ˝ÏÌˇÅÕˇˇÏÎÎÅÅ˝ÎÌˇÅÕˇˇÏÎÏÅÅ˝ÎÌˇÅÕˇˇÏÏÎÅÅ˝ÎÌŎ ˇÏÎÏÅÅ˝ÏŰÎÎÅÅ˝ÎŰÏÎÅÅ˝ÏíˇˇíÎÎÅÅ˝Îì˝ˇìÎÏÅÅ˝ÎËˡˇîÏÎÅÅ˝ÎïˇˇËÁÁˡˇïÎÏÅÅ˝Ïñ    ˇˇÁÁËËÁÁˇˇñÎÎÅÅ˝Îñ˛ˇËÁË˲ˇñÏÎÅÅ˝ÏîˇÁËËÁˇîÎÎÅÅ˝ÎîˇËÁÁˡîÎÏÅÅ˝ÎËÁˇîÏÎÅÅ˝ÎîˇËÁÁˡîÎÏÅÅ˝ÏîˇÁËËÁˇîÎÎÅÅ˝ÎîˇËÁËˡîÏÎÅÅ˝Ïñ˛ˇÁËËÁ˛ˇñÎÎÅÅ˝Îñ    ˇˇËËÁÁËˡˇñÎÏÅÅ˝Îïˇˇ˛ËÁˇˇïÏÎÅÅ˝ÎÁÁˇˇîÎÏÅÅ˝Ïì˝ˇìÎÎÅÅ˝ÎíˇˇíÏÎÅÅ˝ÏŰÎÎÅÅòůÄú˜HHgû®5 Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5966. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5967. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5968.  
  5969.  
  5970.  ˛êêêÄú˜íáÆ~'˝ÎŰÎÏÅÅ˝ÎŰÏÎÅÅC˝Î™0ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ©ÎÏÅÅC˝Ï™0ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ©ÎÎÅÅC˝Î™0ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ©ÏÎÅÅC˝Ï™0ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ©ÎÎÅÅ˝ÎÆ»ˇ≠ÎÏÅÅ˝Î™ˇ“ˇˇ™ÏÎÅÅ˝Î™ˇ“ˇˇ™ÎÏÅÅ˝ÏƸˇ“¸ˇ≠ÎÎÅÅ˝Î™ˇ“ˇˇ™ÏÎÅÅ˝ÏƸˇ“¸ˇ≠ÎÎÅÅ˝Î™ˇ“ˇˇ™ÎÏÅÅ˝ÎƸˇ“¸ˇ≠ÏÎÅÅ˝Î™ˇ“ˇˇ™ÎÏÅÅ˝Ï™ˇ“ˇˇ™ÎÎÅÅ˝ÎƸˇ“¸ˇ≠ÏÎÅÅ˝Ï™ˇ“ˇˇ™ÎÎÅÅ˝ÎƸˇ“¸ˇ≠ÎÏÅÅ˝Î™ˇ“ˇˇ™ÏÎÅÅ˝ÎƸˇ“¸ˇ≠ÎÏÅÅ%˝Ï™ˇ˘˛◊Ì˛◊˛◊◊˘ˇˇ™ÎÎÅÅ*˝ÎƸˇ˘◊◊Ó◊◊◊◊˙¸ˇ≠ÏÎÅÅ7˝Ï™ˇ˘◊◊◊◊◊◊◊◊◊◊◊◊◊◊ˆˇˇ™ÎÎÅÅ0˝ÎƸˇ˘˛◊
  5971. ◊◊◊◊◊˚◊˛˛◊◊ˆ¸ˇ≠ÎÏÅÅ:˝Î™ˇ˘◊˛ ◊◊◊◊◊◊˛◊˛◊˝◊◊˙ˇˇ™ÏÎÅÅ5˝Î™ˇ˘◊˝◊◊˛◊◊˝◊˛◊¸◊◊˘ˇˇ™ÎÏÅÅ˝ÏƸˇ“¸ˇ≠ÎÎÅÅò@@˜@˜ÆáÓ~Êˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fiÊˇ˛fi¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
  5972.     œéé‡0À
  5973.     $Q@"HÀ
  5974.     $a!@àÀ
  5975.     H†!ÄàÀò@@Ę@ĘÓá.~
  5976.     è@AÄ    À
  5977.     @B8áÀ
  5978.     @B!À
  5979.     DDC À
  5980. ˛8|¿À¡¡¡+˲`¸˙0˛˛˚
  5981. Ä¡ÉÄ) ˛ î˙P˛(Ä¢˙Ä@Ö˝2˝ à˛ ˛H˛ Ä¬˚˛@Ö˝ı95[ŸX¿@;.ˆ∂˛I∂0s,ík@X√Œ2¡√\cÅJiéœcú2ŸÊ^Àp˜95åâ! @    $I2II    $RJHH$ê$íîÄ    !%&RI$§îÅJíÖ$îí
  5982. I$íI$ê˜95îâ"@N    H!(RIDíTHêHêDï$Ä    "(Iâ:(ë(ÅS    %â$íJD@˜95CÄÄ pDúíD¢‘ê‡H† Dµ» ÄB(pÑä)    …U$
  5983. I$äIìà ˜95&¬ Ä ƒH“±íâH´d∞àI  HŸ àBIFRíIeB%,í[$•íK$∂(ê˜95
  5984. A¡¿p8púNì0íCPpF p0êËppAÜ;úbÜ∏Êá.”d«& bM√I»‡˜˛ĢIJ˝Ä˙ ÔÛ˛Ä˙˝˛Ä˙ ÔÛ˛˘˝˛˘pÔÛÄ@˛¯Ò–:˛†⁄˛Ä¸D˛ä D˛@(⁄ ÄD˛å D@@$⁄g±ádoΔX=Äâô&Y#/Ê∂ $€›íBI$§I$@ÚI)!Ë2âI)%$$›íDQ%ë$@ÑIR!    (íI¢I*$H›    $ÑRIëH$AK\BâEí¢QjHp›    -ÑíÀ+2J,ÅçëBÄà”Qíà§U≤XD›2É
  5985. 4ƒÃLÉ    GpúéìI!®8›
  5986. ÓÄ˝Ä⁄ Ô˝Ä⁄
  5987. Ô˝Ÿ@˛t˝>˛éÄ’IJà˝˛Q‘    ÄàIJ˛a‘efi÷¿AèÚM≥"fI¨†‘&I) "ERDÄ<íJP@‘%
  5988. I I¢I!Tê@‘(ìíAJ§éA◊ @‘V2Qäõ%àÄA#d`D‘.â“b„    á‡¬C†88‘˛˝˛Œ˛†˝P˛ Œ
  5989. ˛¿˝` ‡˛aÉ@@0› ˚íL˚$Ä¿˝›˙P˛ @›!lm±ÅŸÏ $\÷ ñqÄ    ¬GÜ5ü¿„¿fl!êíJBIRƒb    $I)íí@0$ÇIJA$• fl!ëLŧ#¢    Dâ$•Ä(ÇQ"I)I fl!!$óë8 ¢DíB•'/ƒQ$êÇNr fl!!,îBfbC$I2Ÿ…,@íAíL∂BXΔ@fl! ‘õÉõ‹Aå0”.Ü”êcÅ 4ÀÅß;Äflı ˚¸fiı ˚ ¸fiıp¯¸fi¡¡¡¡¡¡¡¡ò@Äú˜Äú˜.áJ~¡¡¡¡ÄÄ@¸8œÄÄĸœ
  5990. ÄÄÄœºÒ ∂Û/5Ä6–íI$ II$J)(–íIH "II$í)@–¢äp "íäH‰R@–§íƒ"$ííZåR»–9¯·8ì·§tÛ1–˛A˝˛Œ˛A˝˛ Œ ˛„IJÄÀ ¿t Œ  àÕ D(–Mˇ!cI~v1ºÀ—“â"îÄHà(Jë$—$â"9)¯à"Hî$—9BŒâ$P‰"(—cT¬!Å    %êå™H—úàŇÁ#ùpsà—    ¸Ä  
  5991. ˝˛@ ˝Δòů@˜HHgû¨5ÀIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5992. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5993. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  5994.  
  5995.  
  5996.  ˛êêê@˜ÆáÓ~'˝Î™ˇ“ˇˇ™ÏÎÅÅ˝ÏƸˇ“¸ˇ≠ÎÎÅÅ˝Î™ˇ“ˇˇ™ÎÏÅÅ˝ÎƸˇ“¸ˇ≠ÏÎÅÅ=˝Î™ˇ˚˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˚ˇˇ™ÎÏÅÅ1˝ÏƸˇ˚ˇˇˇˇˇˇÛˇˇˇ˙¸ˇ≠ÎÎÅÅ=˝Î™ˇ˚ ˇˇˇˇˇˇ˛ˇ˛ˇˇ˛ˇˇˇˇˇ˙ˇˇ™ÏÎÅÅ<˝Ï™ˇ˚˛ˇˇ˛ˇˇ˛ˇ˛ˇ
  5997. ˇˇˇˇˇˇˇ˙ˇˇ™ÎÎÅÅ˝ÎƸˇ˚ˇŸ¸ˇ≠ÎÏÅÅ˝Î™ˇ˚ˇŸˇˇ™ÏÎÅÅ˝ÎƸˇ˚ˇŸ¸ˇ≠ÎÏÅÅ˝Ï™ˇ“ˇˇ™ÎÎÅÅ˝ÎƸˇ“¸ˇ≠ÏÎÅÅ˝Ï™ˇ“ˇˇ™ÎÎÅÅ˝Î™ˇ“ˇˇ™ÎÏÅÅ˝ÎƸˇ“¸ˇ≠ÏÎÅÅ˝Î™ˇ“ˇˇ™ÎÏÅÅ˝ÏƸˇ“¸ˇ≠ÎÎÅÅ˝Î™ˇ“ˇˇ™ÏÎÅÅ˝ÏƸˇ“¸ˇ≠ÎÎÅÅ˝Î™ˇ“ˇˇ™ÎÏÅÅ˝ÎƸˇ“¸ˇ≠ÏÎÅÅ˝Î™ˇ“ˇˇ™ÎÏÅÅ˝ÏƸˇ“¸ˇ≠ÎÎÅÅ˝Î™ˇ“ˇˇ™ÏÎÅÅ˝Ï™ˇ“ˇˇ™ÎÎÅÅ˝ÎÆ»ˇ≠ÎÏÅÅ˝Î™œˇ™ÏÎÅÅC˝Î™0ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ©ÎÏÅÅC˝Ï™0ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ©ÎÎÅÅC˝Î™0ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ©ÏÎÅÅ˝ÏŰÎÎÅÅ˝ÎŰÎÏÅÅ˝ÎŰÏÎÅÅ˝ÎŰÎÏÅÅ˝ÏŰÎÎÅÅ˝ÎŰÏÎÅÅ˝ÏŰÎÎÅÅ˝ÎŰÎÏÅÅ˝ÎŰÏÎÅÅÏ˝ÎÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏÅÅ͸˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏÎÎÅÅÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâ)ϸˇ¸ˇ˛˛ˇˇ˛˛ˇ¯˛ˇ˘˛ˇ˝ˇˇÅÅÅ’7Ρ˛ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇ¯ˇ˘ˇ˛ˇˇˇÅÅÅ÷1Ρ˛ˇ˛˛˛ˇ˝ˇˇ˝ˇ¯˛ıˇˇ˛ˇÅÅÅ÷0Ïˇ˛ˇˇ˛ˇˇ˙ˇ˝ˇ˘ˇıˇˇ˛ˇÅÅÅ÷òů@ĘHHgû®5ÃIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  5998. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  5999. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6000.  
  6001.  
  6002.  ˛êêê@ĘÓá.~'*Ï˝ˇ˛˝ˇˇ˙ˇ¸ˇ˘ˇˆˇˇ˝ˇÅÅÅ÷8Ïˇ˚ˇ˝ˇ˙ˇ˝ˇ˛ˇ˛ˇ˛ˇ˝ˇˇ˛˛˛˛˛˛˛ÅÅÅ’,Ìˇ˚ˇ¸ˇ˙ˇ˝ˇ˘ˇ˜ˇ˝ˇ˛ˇÅÅÅ’4Ìˇ˚ˇ¸ˇ˛ˇ˛ˇ˛ˇ¯ˇ˝ˇ˝ˇ˝ˇˇˇÅÅÅ‘.Óˇˇ˛˝˛ˇ¸˛ˇ¸˛ˇ¯˛ˇ˛ˇˇ¸˛˛ˇ˛ˇ˛ÅÅÅ”ÅÅÅâÅÅÅâÅÅÅâNÏ˚ˇˇÂˇˇ˘ˇˇ˘¯ˇ≈ˇˇ‚ˇˇÛ¸ˇÊ¸ˇ˛˛ˇˇ ˇˇÍˇˇ¸ˇˇ¸˛ˇıˇÏˇˇÅ˛YΡ˛ˇ‚ˇ¯ˇ˙ˇ˛ˇˇˇΔˇˇ„ˇˇÚˇ˛ˇÊˇ˛ˇˇ˛ˇ»ˇÈˇ˚ˇ˝ˇˇ›ˇÅ˛XΡfiˇ¯ˇˆˇ˛ˇ‰ˇ„˛ˇ‰ˇˇ˛ˇÊˇ˛ˇ˛˝ˇ…ˇË˛˚ˇ˝˛ˇÎˇıˇÿ˛ßRÏˇ˛ˇˇˇ˝ˇ
  6003. ˇˇˇˇˇˇ˛ˇˇ˙ˇ¯ˇˆˇ˝˛ˇ˝ˇˇ¸˛ˇˇˇˇ˛ˇ˝ˇ
  6004. ˇˇˇˇˇˇˇ˚˛ˇ˛ˇˇ˛˙ˇˇˇˇˇˇˇˇˇ˛ˇˇ¸˛ˇ    ˇˇˇˇˇ¸ˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇ¯˝ˇˇˇˇ˛ˇˇ˝ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇˇˇˇˇ¸˛ˇ˝ˇˇˇ˛ˇ˛ˇˇ˛˛ˇ˚ˇˇˇˇˇˇˇˇˇ˛˛ˇˇˇ˝ˇˇˇ˛˛ˇ˛ˇ˙ˇˇ˛ ˇˇˇˇˇˇˇ˝ˇˇˇˇ˝ˇ    ˇˇˇˇˇ˛ˇµdÏ˝ˇ˛ˇˇˇ˛ˇˇˇ˝ˇˇ˚ˇ¯ˇˆˇ˝    ˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇ˝    ˇˇˇˇ˛ˇˇˇˇˇˇˇˇ˝ˇˇ¸    ˇˇˇˇ˙˝ˇ˛ˇˇˇˇˇˇˇˇ¸˝ˇˇˆˇˇˇ˝ ˇˇˇˇˇˇˇˇˇˇˇˇˇ˙ˇˇˇˇˇˇˇˇˇˇ˚ˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇˇ¸/ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇµgÏ ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇˇ˙ˇ˛ˇ˝˛ˆ˛˝ˇ˛ˇˇ¸ˇ˝˛ˇˇ˝ˇ˛ˇˇˇ˛¸ˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇ˛¸ˇˇ˛ˇ˛˙˛¸ˇ˛ˇˇ˛ˇ˛ˇˇ¸˛˝ˇˆˇ˛ˇ˛ˇ˛ˇˇ˝ˇˇ˛˝ˇ˛ˇ˛
  6005. ˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛˛˛ˇˇ˛ˇ˚˛ˇ˛ˇ˛˛˛ˇ˚ ˇ˛ˇˇ˛˛˛ˇ˝˛ˇ˝˛˝ˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇ˛ˇ˛ˇ≥KÌˇ˚ˇˇˇ˛ˇˇˇ˝˛ˇ˙ˇ¯ˇˆˇ˝ˇˇ˛ˇ˙ˇ˛ˇˇ˛ˇˇ˛ˇˇˇˇ˙ˇˇ˛ˇˇˇ˛
  6006. ˇˇˇˇˇˇˇ˝˛ˇ˚ˇˇ˛ˇˇ˙ˇ˚ˇ˛    ˇˇˇˇˇ˛ˇˇ¸ˇ¸ˇ˜ˇ˛ˇˇ˝ˇ˛ˇˇ˝˛ˇ˝ˇ˝ˇˇ˛ˇˇ˙ˇ˛ˇˇˇ˝ˇ˛ˇˇˇ˚ˇˇˇˇˇˇˇ˚ ˇˇˇˇˇ˛ˇ˛ˇˇˇ¸ˇ˝ˇ˛ ˇˇˇˇˇ˛
  6007. ˇˇˇˇ˛ˇ˛ˇ¸ˇ¥rÌˇ¸ˇˇˇ˝ˇˇˇˇ˝ˇ˛ˇ¸ˇ¯ˇˆˇ˝ˇˇˇˇ˛ˇ˛ˇˇ˛ ˇˇˇˇˇˇˇ˛    ˇˇˇˇˇ˛ˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇ˝    ˇˇˇˇ˙ˇ˚ˇˇ˛ˇˇˇˇˇ˛ˇˇ¸ˇ¸ˇ˛ˇ˚ˇˇˇ˝ ˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇ˙ˇˇˇˇˇˇˇˇ˛ˇˇˇˇ˝ˇ˛-ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛#ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇ˛ˇˇµbÓˇˇ˛¸ˇˇ˛ˇˇ˝ˇ˛ˇ˛¸ˇˇ˛¸ˇˇ˛˙˛ˇˇ¯˛ˇˇ˛ˇˇˇ˛ˇ˝˛ˇˇ˝ˇˇˇ˛˛˛ˇ˛ˇˇˇˇˇ˝ˇ˛ˇ˛ˇˇ˝    ˇˇˇ˛˝ˇˇ˛ˇ¸˛ˇˇ¸˛˛˛ˇ˛ˇ˚˛ˇˇ˚ˇˇ˝ˇˇ˝ˇ˛ˇˇ˝˛ˇˇ¸˛ˇˇ˙ˇˇ˛˛˛¸ˇˇ˝˛ˇ˛˛ˇ˛ˇˇˇ˛˛˛ˇ˛ˇ˙˛ˇ˝˛ˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇ˝˛ˇˇˇˇ˛ˇˇ˛ˇˇˇ˝
  6008. ˇ˛ˇ˛ˇ˛ˇ˛˛    ˛ˇˇˇ˛ˇ¸ˇ˛˛˛ˇ˛ ˇ˛ˇ˛ˇˇ˛˝ˇˇ˛ˇˇˇ˛ˇ˛ˇ˛ˇ¥ Âˇ˛ˇ∫ˇ€ˇ·ˇ¿ˇÅÊˇò&¡˛ˇΩˇˇ‹ˇˇ„ˇˇ¿ˇÅÊˇò%‰ˇˇ˛ºˇˇ€ˇˇ‚ˇ˛¿ˇˇ˛Åˡˇ˛ô5Ï˛ˇÍˇˇÒˇ„¸ˇÁ¸ˇ˛˛ˇˇ˚˛ˇˇ‚˛ˇˇ˘ˇˇÅÅŒ:Ρˡ—ˇ˛ˇÁˇ˛ˇˇ˛ˇ˚ˇ˛ˇ‚ˇ˛ˇ˘ˇˇÅÅŒJΡ˘ˇÒˇÙˇÏˇı˛˛˛Áˇ˛ˇ˛˝ˇ˚˛˛˛ˆ˛Ó˛˛˛˘ˇ˛ÅÅœ™Ïˇˇˇˇ˝ˇˇˇ˛ˇˇ˝˛ˇˇˇˇ˛ˇˇ˚ˇ˛ˇˇˇˇˇ¸˝ˇˇˇ˙ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇıˇ˛ˇˇˇ˙ˇ ˇˇˇˇˇˇˇ˙ˇ¸ˇˇ˛˙ˇˇˇˇˇˇˇˇˇ˛ˇˇÅÅÊ∑Ï ˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇ˛ ˇˇˇˇˇ¸ˇˇˇ˚˝ˇˇˇˇˇˇˇˇˇ˝˝ˇˇÛˇ˛    ˇˇˇˇˇ˛ ˇˇˇˇˇ˙ˇ˛ˇˇ˛ˇˇˇˇˇˇˇˇ˝ˇˇÅÅÁ∂Ï ˇˇ˛ˇˇ˛ˇ˛ˇ˛˛˛ˇˇ˛¸ˇˇ˛˛˛ˇˇ¸˛ˇ˛ˇ˚ˇ˝ˇ˛
  6009. ˇˇ˛ˇ˛ˇ˛ˇ˝˛˝ˇÚˇ˛ˇˇ˛ˇ˛ˇˇˇ˛˘ˇˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇ˛ˇˇÅÅÊ∑Ì ˇˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇ˝ˇ˛ˇˇ˛ˇˇˇ¸ˇˇ˛ˇ¸ˇ¸ˇ˛    ˇˇˇˇˇ˛ˇ˛ˇ˝ˇ¸ˇˆˇ˛ˇˇˇ˛ˇˇ˛˛ˇˇˇˇ¸ˇ˛ˇˇ˛ˇˇˇ˛
  6010. ˇˇˇˇˇˇˇ˝˛ˇÅÅÂ≈Ì ˇˇˇˇˇˇˇ˝)ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇˇ˚ˇ¸ˇˇ˛ˇˇˇˇˇ˛ˇˇ˝ˇ¸ˇ˛ˇ˙ˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛    ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇÅÅÁ∏Ó
  6011. ˇˇ˛ˇˇˇˇˇ¸ˇˇ˝
  6012. ˇ˛ˇˇˇ˛ˇ˛˛˛ˇ˛ˇ˛˛˛ˇ˛¸ˇˇˇ˚˛ˇ¸ˇˇ˝ˇˇ˝ˇ˛ˇ˛˛˛ˇˇ¸˛ˇˇ˙ˇ˛ˇˇ˝ˇˇˇ˛ˇ˛ ˇ˛ˇˇˇˇˇ˛ˇ˛ˇˇ˛ˇˇ˝    ˛ˇˇˇ˝ˇˇˇˇ¸˛ˇÅÅÊÅÈˇ⁄ˇÅÅ ÅÏˇˇ€ˇˇÅÅ ÅÏˇˇ⁄ˇ˛ÅÅ…(Ï˛ˇˇ‚˛ˇˇ˘ˇˇfl¸ˇ‰¸ˇ˛˛ˇˇÅÅ¢2Ìˇ˛ˇ‚ˇ˛ˇ˘ˇˇfiˇ˛ˇ‰ˇ˛ˇˇ˛ˇÅŰ6Ìˇ˛ˇı˛Ôˇ˛ˇ˘˛ˇflˇ˛ˇ‰˛˛˛ˇ˝ˇÅŰpÏˇ˛ˇˇˇ˛ˇ˝ˇ
  6013. ˇˇˇˇˇˇˇ˙ˇ¸ˇˇ˛˘ˇˇˇˇˇˇˇˇˇˇˇ˜ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇ˚ˇ˛ˇˇÅÅúrΡ˛ˇˇˇˇˇˇˇˇˇˇ˙ˇ˛ˇˇ˛ˇˇ˛ˇˇˇˇˇˇ˛ˇˇ¯˝ˇˇˇˇˇˇˇˇˇ˘˝ˇˇÅÅõpͲˇˇ˛˝ˇˇˇˇ˛ˇ˘˛ˇ˛ˇˇ˛˛˛ˇˇˇ˛    ˇˇˇ˛˜ˇ˝˛˛˛ˇˇ˛ˇˇ˛˘ˇ˝ˇÅÅõsÓˇ˛ˇˇˇ˛ˇˇ˛ˇˇˇˇ¸ˇ˛ˇˇ˛ˇˇˇ˝
  6014. ˇˇˇˇˇˇˇ˛˛ˇ˜ˇ¸ˇ˛    ˇˇˇˇˇ˛ˇˇ˘ˇ¸ˇÅÅõ~Óˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛    ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇ˘ˇ¸ˇˇ˛ˇˇˇˇˇ˛ˇˇ˘ˇ¸ˇ˛ˇÅÅüwÔˇˇ˛ˇ˝ˇ˛ˇ˛ˇˇˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇ˝ˇˇ˛ˇˇ˝ˇˇˇˇ˝˛ˇˇ˛ˇ˝ˇ˛ˇ¸ˇ˛˝ˇ˛˝˛ˇˇ˙˛ˇ¸˛ˇÅÅûÊˇ⁄ˇ‚ˇÅÅÅÌÈˇˇ€ˇˇ„ˇÅÅÅÏÈˇˇ⁄ˇˇÅÅÅÃ@Ï˚ˇ‡ˇÌˇˇ˝ˇˇ¸ˇˇˇÂˇ˝ˇˇÛˇˇ˛˝ˇ¸ˇˇÎˇˇÅÅÂ6Ρ˛ˇÃ
  6015. ˇˇˇˇˇˇÀˇÙˇˇˇ˙ˇˇÿˇÅÅÂ2Ρ≈ˇ˛˛˛ˇ‚ˇÈˇÒ˛ˇ˙ˇ˛Ê˛ÙˇÅÅÂ¨Ïˇ˛ˇˇˇˇ˛
  6016. ˇˇˇˇˇˇˇˇ˛ˇˇ˚˛ˇˇˇ˝ˇˇˇ˝ˇ˙ˇˇ˛ˇ˛ˇ¸˝ˇ˝ˇˇ˛ˇˇˇˇˇ˙ˇ˝ ˇˇˇˇˇˇ˛ˇ˛ˇˇˆˇ˛ˇ˝ˇˇ˛˝ˇ˝ˇˇ˛ˇˇˇˇˇ˙ˇ˚˛ˇ˛ˇˇ˛ˇˇ˝ˇÅÅÛ≈Ï˝ˇˇ˝ˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇ¯ˇˇ˛ˇ˛ˇˇ˛ˇ¸    ˇˇˇˇ˛ˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇ˘ˇˇ˚ˇˇˇ¸    ˇˇˇˇ˛ˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇÅÅÙΩÏˇˇ˛˛˛˛
  6017. ˛ˇˇˇˇˇ˚˛˛˛˝ˇˇˇıˇ˛ˇ˛ˇˇ˛ˇ¸ˇ˛ˇ˛ˇˇ˛    ˇ˛ˇˇ˙
  6018. ˇˇˇˇ˛˛˛ˇˇˆˇ¸ˇˇ˛ˇ¸ˇˇ˛˛˛ˇ˛    ˇˇˇ˛˚ˇ˛ˇˇ˛ˇˇ˛ˇÅÅÙ≤Ìˇ¸ˇ˝
  6019. ˇˇˇˇˇ˛ˇ˘ˇˇ˛ˇ˛ˇÙˇ¸ˇˇ˛ˇ˝ˇ˛ˇˇ˛ ˇˇˇˇˇ˝ˇ˚ˇˇˇˇˇˇˇ˛ˇıˇ¸ˇ˚ˇ˛ˇ˛ˇˇ˛ ˇˇˇˇˇ˝ˇ¸ˇˇ˛ˇ˛ˇˇ˛ˇÅÅÙ Ìˇ¸ˇ˝ˇˇˇˇˇˇˇ˛ˇ˝ ˇˇˇˇˇˇˇ˛ˇ˙ˇˇ˝ˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇ˛ˇ˚    ˇˇˇˇ¸ˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇ˛ˇˇ˛ˇˇˇÅÅÛªÓˇˇ˛˝ˇ¸
  6020. ˇ˛ˇ˛ˇˇˇ˛ˇ¸˛ˇˇˇ˛ˇ˛ˇˇ˛˛˛¸ˇˇ˛ˇ˛¸ˇˇ˚ˇˇ˛˝ˇˇ˝ˇ˛ˇˇˇˇˇ˛ˇ˚˛ˇ˝˛ˇˇ˛ˇ˛ˇˇ¸˛ˇ˛˛ˇ˚ˇ¸˛ˇˇ˝ˇ˛˝ ˇˇ˛ˇ˛ˇ˛ˇ˚
  6021. ˇˇˇ˛ˇˇ˛ˇ˛ˇÅÅÚüˇ…ˇÈˇ—ˇÅÅÔüˇ ˇËˇ—ˇÅÅÔ†ˇˇ˛≤˛ˇˇ”˛ˇÅÅÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâòůÄú˜HHgû¨5ÕIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  6022. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  6023. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6024.  
  6025.  
  6026.  ˛êêêÄú˜.áJ~'ÅÅÅâÅÅÅâÅÅÅâÅÅÅâ͡ˇÛˇˇı˛ˇˇ—˛ˇÅÅň͡ˇÚˇˆˇ˛ˇœˇÅÅÅı"ΡˇÚˇ˜ˇ˝ˇ‰ˇÌˇÅÅÅıWÏˇˇ˝ˇ˝ˇ˛ˇ˛ˇˇ˚ˇ˘ ˇˇˇˇˇˇˇ˝ˇˇˇˇ˝ˇˇˇˇˇˇ¯ˇˇˇˇ˝ˇˇÅÅŞ]Ïˇˇˇˇˇˇˇˇˇ˝ˇ˘ˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇˆ
  6027. ˇˇˇˇˇÅÅŞZÌ˛ˇ˛ˇ˛ˇˇˇ˛ˇˇ¸ˇ˙ˇ˛ ˇˇˇ˛ˇˇ˛ˇˇˇ˛ˇˆˇˇ˛ˇÅÅÅ˚XÌˇ˛ˇˇ˛ˇˇ˛ˇˇ˛ˇ˚ˇ˙ˇ˛
  6028. ˇˇˇˇˇ˛ˇˇˇˇ˛˛ˇˇˆˇˇˇˇÅÅÅ˚cÓˇ˝ˇˇˇˇˇˇˇˇ˛ˇ˝ˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˆ ˇˇˇˇˇˇÅÅŞbÔ˛ˇˇˇ˛˛ˇ˛ˇ˛ˇ˝ˇ˛ˇ˚ˇˇ˛¸ˇˇ˛ˇˇ˛ˇ˛ˇ˝ˇˇˇ˛˛˛ˇˇ˛¸ˇ˝ ˇ˛ˇˇˇˇˇˇ˛ˇÅÅÅˡ¸ˇ⁄ˇÊˇÅÅÅÌˡ¸ˇ⁄ˇÁˇÅÅÅÏÈ˛ˇ˛ˇ˛ˇ‹ˇ˛ˇÅÅÅ“ Ï¸ˇÍ˛ˇˇÏˇˇˇˇˇÅÅÅÏ!Ρ˛ˇÏˇ˛ˇÎˇˇÔˇÅÅÅÈ2Ρ˛ˇ˚˛˛˛¯ˇ˝ˇÏˇˇ˘˛¯ˇÌˇÅÅŞYÏˇ˛ˇˇˇ¯ˇˇ˝ˇ¯ˇˇ˛ˇˇ¯ˇˇˇ˚ˇ¸˛ˇ˛ˇˇˇ˛ˇˇ˛ˇˇ˝ˇ    ˇˇˇˇˇÅÅâ`ϸˇˇˇˇ˛ˇˇˇ˛ˇ¯ˇˇˇˇ˘ˇˇ˛ˇ˛ˇ˚ˇˇ˛ˇˇ˝
  6029. ˇˇˇˇˇ˛ˇˇˇÅÅágÏˇ˝ˇˇˇ˛ˇ˛ˇ˛ˇ˛
  6030. ˇ˛ˇ˛ˇˇ˛˘˛ˇ˛ˇ˛ˇ˛ˇ¸ˇ˛ˇˇˇ˛ˇ˛ˇ¸˛ˇ˛ˇˇÅÅá_Ìˇ¸˛ˇˇ˛ˇ˛ˇˇ˝ˇ˝ˇ˛˛ˇ˛ˇ¯ˇ˛ˇˇ˛ˇ˚ˇˇ˛ˇˇ˝˛ˇˇ˝ˇ˛ˇ˛ˇˇÅÅÜiÌˇ˝ˇˇ˛ ˇˇˇˇˇˇˇ˝ˇ˛ˇ˝ˇ˛ˇˇ˛ˇ˚ˇ˝ˇˇ˛ˇˇ˝    ˇˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇˇˇÅÅÜgÓˇˇ˛˛ˇˇˇ˛ˇ˛ˇ˛ˇ˚ˇˇ˛ˇ¸
  6031. ˇ˛ˇ˛ˇˇˇ˛˛ˇˇˇ˛ˇ˝ˇ˚ˇˇˇ˛ˇˇ¸˛ˇˇˇˇ˛ˇ˛ˇˇ˛ˇÅÅÜŸˇËˇÅÅÅˡˇËˇÅÅÅÀ
  6032. ‹ˇˇÅÅÅ∞ò@@˜@˜Jáä~ ÿ¸08à H¸HDÃ
  6033. H ÄÃ
  6034. ñNˆ7Ÿ`Ã
  6035. íRHI$Ä`Ã
  6036. íHHâDÄ Ã
  6037.     $ÑêíE@Ã
  6038.     l≤∞ñ… ÑÃ
  6039. ì\Pi1ƒ¯Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ę@Ęäá ~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@Äú˜Äú˜ áÊ~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òů@˜HHgû®5ŒÄ˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  6040. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  6041. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6042.  
  6043.  
  6044.  ˛êêê@˜Jáä~'ϸˇˇˇ‘ˇˇ˚˛ˇÅÅÅfi!Ρˇˇ’ˇˇ˝ˇ˛ˇÅÅÅfl"Ρ˛ˇÙˇÙˇÓˇ˘˛ÅÅÅfl>Ïˇˇˇˇˇˇ˛ˇ˝ˇˇˇ˛ˇˇ¸ˇˇˇˇˇˇ˘ˇ˘ˇÅÅÅfi?Ïˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇ˘ˇˇ˘ˇÅÅÅ›>Ïˇˇ˛ˇˇˇ˝ˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇ˜˛˚ˇÅÅÅ‹=Ì ˇˇˇˇˇ˝ˇˇˇ˝    ˇˇˇˇ˛ˇˇˆˇ¸ˇÅÅÅ€EÌˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇ˙ˇˇ¸ˇ˝ˇÅÅÅflEÓˇˇ˛ˇˇˇˇ˛ˇˇ˛˛˛ˇ¸
  6045. ˛ˇˇˇˇˇ˛ˇ˘ˇ˛˛˛ˇ˛˛ˇÅÅÅfiÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâòů@ĘHHgû¨5œÄ˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  6046. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  6047. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6048.  
  6049.  
  6050.  ˛êêê@Ęäá ~'ÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâòůÄú˜HHgû®5–IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  6051. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  6052. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6053.  
  6054.  
  6055.  ˛êêêÄú˜ áÊ~'ÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâò@@˜@˜Êá&~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ę@Ę&áf~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@Äú˜Äú˜fáÇ~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òů@˜HHgû¨5—IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  6056. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  6057. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6058.  
  6059.  
  6060.  ˛êêê@˜Êá&~'ÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâòů@ĘHHgû®5“IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  6061. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  6062. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6063.  
  6064.  
  6065.  ˛êêê@Ę&áf~'ÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâòůÄú˜HHgû¨5”IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  6066. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  6067. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6068.  
  6069.  
  6070.  ˛êêêÄú˜fáÇ~'ÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâÅÅÅâˇ!~@ˇ ˇˇˇˇ@
  6071. ˇ·ˇ‚7^
  6072. 4*\¯, Palatino
  6073. &e.3+l"CHAPTER à)>1,     Helvetica
  6074.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6075. (‡*1-6
  6076.     )BThe 68LC040 Emulator4^*¿¯
  6077. ^*k¯4^*k¯°dONLNd]lh(elNote
  6078. ˇ·ˇ‚7^
  6079. °dONLNd
  6080. iluñ*
  6081.     The term `°dONLNdióuª)+fragment∑`°dONLNdiªu¶)$7 is not intended to suggest that the block of code and °dONLNdRulÅ™(~lHdata is in any way either small, detached, or incomplete. Fragments can °dONLNdöÅlç* %be of virtually any size, and they ar3`°dONLNdøÅç¶)ú%e complete, executable entities. The °dONLNd‰çlôÉ(ñlterm “†°dONLNdÈçÉôß)fragment{†°dONLNdÒç®ôÉ)%1 was chosen to avoid confusion with the terms alrb`°dONLNd"çÉôö)€eady °dONLNd'ôl•é(¢lused in c@°dONLNd/ôè•‘)#Inside MacintoshE@°dONLNd?ô’•x)F& to describe executable code (such as Õ°dONLNdeôx•§)£    component‹`°dONLNdnô§•¶), °dONLNdo•l±(Æland Ì °dONLNds•±ú)module^†°dONLNdy•ù±¢)).,
  6082.  
  6083. Zapf Dingbats
  6084. 2İdONLNd|®®∞Æ) u
  6085. °dONLNd~∂l¬˚(ølFragments use a method of addrİdONLNdú∂¸¬£)ê(essing the data they contain that is dif# °dONLNdƒ∂£¬Ø)ßfer†°dONLNd«∂جÂ) ent and morfi†°dONLNd“∂‰¬Î)5e °dONLNd‘√lœ∂(Ãlgeneral than the 2‡°dONLNdÂ√∂œ )JA5-r°dONLNdÈ√ œ®)2elative method that 680x0 applications use to addrW°dONLNd√®œÏ)fiess their global °dONLNd,–l‹Å(Ÿl;data. One important consequence is that any PowerPC softwarx`°dONLNdg–Å‹Û(ŸÅe packaged as a fragment °dONLNdÄ›lÈä(ÊlAhas easy access to global data. In the 680x0-based system softwarº‡°dONLNd¡›äÈ‚(Êäe, it was sometimes °dONLNd’Ílˆx(Ûldif™`°dONLNdÿÍxˆ~) fi∑ °dONLNd⁄Í~ˆH)/cult to use global data within types of softwarÔ@°dONLNd    ÍHˆ∑) e other than applications.°dONLNd$¸l+(l-In addition, it was often complicated for a rÃİdONLNdQ¸+w)øoutine installed bÖ¿°dONLNdc¸x¥)M
  6086. y some code tÚİdONLNdp¸¥—)<o gain °dONLNdx    lù(l access to tho¿°dONLNdÑ    ûº)2e code’K¿°dONLNdã    Ω≥)7s global variables. For example, you cannot—in the currϰdONLNd¬    ≥fl)ˆ
  6087. ent 680x0 °dONLNdÃl"É(lenvirn†°dONLNd—É"„)onment—write a VBL∂ °dONLNd„„"‰)`< task that uses your application’s global variables without °dONLNd#l/(,l#somehow passing your application’s é °dONLNdB#/i)§A5 value to the VBL[@°dONLNdU#i/Ç)Y task. È¿°dONLNd\#Ç/ç)(Ax@°dONLNd^#ç/è)  ¯@°dONLNd_#è/£)VBLY °dONLNdb#§/π) taskπ°dONLNdg#π/ı) is a task that °dONLNdw0l<"(9l*executes during a vertical blanking interrp‡°dONLNd°0"<9)∂upt.) `°dONLNdß0:<ô)In the PowerPC envir?@°dONLNdª0ô<÷)_
  6088. onment, any r›°dONLNd»0÷<Ì)=outinU¿°dONLNdÕ0Ó<ı)e °dONLNdœ=lI™(Flcontained in a“`°dONLNd›=™IÊ)>Jn application has automatic access to the application’s global variables. °dONLNd'JlVr(SlY@İdONLNd(JrVb)6ou do not need to devise special ways to pass the addrÖ@°dONLNd^JbVœ)ess of your application’s Ì`°dONLNdxJœVfi)mA5 °dONLNd{Wlc—(`lworld to the installed rå¿°dONLNdìW—cÔ)eoutine.O °dONLNdöWc) Mor~‡°dONLNdûWc5) e generallyÛ°dONLNd©W4cO)/, any ròİdONLNd∞WPc„) outine executing in the PowerPC °dONLNd–dlpÉ(mlenvirn†°dONLNd’dÉpµ)Gonment has access to the global data of the fragment it’s contained in.°dONLNdvlÇò(l    The new r `°dONLNd&vôÇo)--un-time model used for native PowerPC softwarņ°dONLNdSvoÇ…)÷e incorporates other °dONLNdhÉlèº(ålimportant simplifiU¿°dONLNdzÉΩèx)Q-cations as well. In native applications, ther’ °dONLNdßÉxè‡)ªe is no segmentation of °dONLNd¿êlúK(ôl3the executable code. The existing compilers that prŸÄ°dONLNdÛêKú√)floduce PowerPC code ignor-@°dONLNd êƒúfi)ye any °dONLNdùl©∑(¶lsegmentation dirҰdONLNd!ù∑©E)K ectives you include in your sourT¿°dONLNdAùE©˜)é)ce code. In addition, any calls you make .°dONLNdj™l∂Ÿ(≥lto the Segment Manager=`°dONLNdÄ™⁄∂„)n’s ,
  6089. Courier=`°dONLNdÉ™„∂)        UnloadSeg=`°dONLNdå™∂%)6 pr¿°dONLNdè™%∂B) ocedur‚ °dONLNdï™A∂R)e ar¥Ä°dONLNdô™R∂í)e simply ignor܇°dONLNdß™í∂È)@ed by the PowerPC .°dONLNdπ∑l√Æ(¿lsystem softwarM‡°dONLNd«∑Ø√)Ce. The task of keeping r›Ä°dONLNdfl∑√,)fequirÙ¿°dONLNd‰∑,√0)eæ`°dONLNdÂ∑1√>)d c `°dONLNdË∑>√ı)
  6090. 'ode in memory is handled completely by °dONLNdƒl–É(Õlthe Và‡°dONLNdƒÉ–)irtual Memory Manager or the PrΔ°dONLNd3ƒ–W)ì
  6091. ocess ManagerD°dONLNd@ƒW–Δ)A, not by your application.°dONLNd[÷l‚É(fllThe rÄ¿°dONLNd`÷É‚R)0emaining sections in this chapter describe in gr»Ä°dONLNdê÷R‚À)œeater detail the mixed envir†°dONLNd¨÷Â)zonment °dONLNd≥„lÔ≠(Ïl
  6092. of PowerPC pr√İdONLNd¿„≠ÔÕ)Aocessor'`°dONLNd«„ŒÔ™)!/-based Macintosh computers and the new native rİdONLNdˆ„´Ô–)›un-time °dONLNd˛l¸É(˘lenvirn†°dONLNd    ɸ )onment. If you’r1@°dONLNd    À¸Á)He inter†°dONLNd    Á¸1)ested mainly in r8°dONLNd    +1¸”)J%ebuilding your application as native °dONLNd    P˝l    )(l*PowerPC code, you can skip to the section ˇ‡°dONLNd    z˝)    √)Ω“Mixed Mode” beginning on page ¿°dONLNd    ô˝ƒ    ÷)õ1-13e†°dONLNd    ù˝÷    €), °dONLNd    ü
  6093. l„(lOwhich describes the ways in which you might need to use the Mixed Mode Manager °dONLNd    Ôl#ã*
  6094. ?to make your native application compatible with the mixed envir†°dONLNd
  6095. .å#∞( åonment.
  6096. **E¯4+*E¯
  6097. U*]¯4V*]¯ W*W˛
  6098. ˇ·ˇ‚7^
  6099. ˇˇ©ˇÆ°dONLNd
  6100. 7B*Uœ(P*The 68LC040 EmulatorˇˇˇˇˇˇV˛(P1
  6101. °dONLNd
  6102. Mflr(olThe ª¿°dONLNd
  6103. Qfr“)68LC040 Emulator≈@°dONLNd
  6104. af“ré)S* is the part of the PowerPC system softwar¶¿°dONLNd
  6105. ãfér‰)ºe that allows 680x0 °dONLNd
  6106. üslÛ(|lapplications and other softwarã@°dONLNd
  6107. ΩsÛm)áe to execute on PowerPC prç°dONLNd
  6108. ◊smç)zocessor‡°dONLNd
  6109. fisç›) -based Macintosh °dONLNd
  6110. ÔÄlåÍ(âlcomputers. This emulator prdONLNd
  6111. ÄÍå[)~ovides an execution envir†@°dONLNd #Ä[åÓ)q#onment that is virtually identical °dONLNd FçlôÀ(ñlto the execution envir(¿°dONLNd \çÃô)`<onment found on 680x0-based Macintosh computers. The emulato∞‡°dONLNd òçôˆ(ñr °dONLNd ööl¶ô(£l
  6112. converts 6ô°dONLNd §öô¶√)-
  6113. 80x0 instrY`°dONLNd Æöƒ¶:)+uctions into PowerPC instr;¿°dONLNd »ö;¶´)wuctions, issues those instryİdONLNd „ö´¶È)puctions to the °dONLNd Úßl≥¨(∞l PowerPC micr§†°dONLNd ˛ߨ≥ª)@opr·@°dONLNd ߪ≥€)ocessorµ`°dONLNd ߀≥m)  , and updates the emulated envirë`°dONLNd (ßm≥Ù)íonment (such as the emulated °dONLNd E¥l¿ã(Ωl680x0 r̆°dONLNd L¥ã¿¡)egisters) in rz°dONLNd Z¥¬¿ê)7-esponse to the operations of the PowerPC micr`°dONLNd á¥ë¿†)œoprP°dONLNd 䥆¿¿)ocessor$ °dONLNd 륿¿¬) .ˇ"Æ@ˇ ˇˇˇˇ@
  6114. ˇ·ˇ‚7^
  6115. 4H\, Palatino
  6116. &e.3+ä"CHAPTER à)>1,     Helvetica
  6117.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡äThe 68LC040 Emulator
  6118. , (‡    1-7
  6119. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6120. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿°dONLNd\äh.(eä%In general, the 680x0 emulation envirr°dONLNd%\.h)§0onment supports all existing 680x0 applications °dONLNdUiäu©(räthat alrİdONLNd]i™uÌ) eady work corrc†°dONLNdkiÌu÷)C3ectly on all Macintosh computers containing a Motor∂‡°dONLNdûi÷u)È ola 68020, °dONLNd©väÇ„(ä68030, or 68040 micrŸ¿°dONLNdΩv„ÇÚ)Yopr`°dONLNd¿vÛÇ)ocessorÍİdONLNd«vÇ+). Therk@°dONLNdÕv,Ç<)e ary‡°dONLNd—v<Çl)
  6121. e, howeverP °dONLNd€vlÇó)0
  6122. , some difJ†°dONLNdÂvóÇ£)+fer- °dONLNdËv£Çı) ences between the °dONLNd˙Éäèï(åä:operation of the 68LC040 Emulator and an actual 68040 micr[°dONLNd4Éïè§(åïopró†°dONLNd7ɧèƒ)ocessork¿°dONLNd>Ƀ蠠  ) . The following °dONLNdNêäúÕ(ôätwo sections pr{İdONLNd]êÕú    )CGovide some information on the general operation and limitations of the °dONLNd§ùä©‹(¶ä68LC040 Emulatorˇ °dONLNd¥ù€©›)Q.
  6123. ∑H≈4∏H≈
  6124.     °dONLNd∂∂ä¡ù(æäNote
  6125. ˇ·ˇ‚7^
  6126. °dONLNdª√äœΔ*
  6127. Unless you ar`°dONLNd»√«œÿ)=e pr& °dONLNdÃ√ÿœØ)-ogramming in assembly language or doing very °dONLNd˘œä€(ÿälow-level debugging, you’rÜ@°dONLNdœ€´)x(e not likely to need the information in °dONLNd<€äÁ(‰äthe following two sections.,
  6128.  
  6129. Zapf Dingbats
  6130. A@°dONLNdXfiÊ )|u
  6131.  H4 H 
  6132. ä
  6133. 
  6134. ˇ·ˇ‚7^
  6135. ˇˇ‹.ˇ◊°dONLNdZ¸ä (äEmulator Operationˇˇˇˇˇˇ€r(1
  6136. °dONLNdnäm(ä/The 68LC040 Emulator implements the basic Motorπ`°dONLNdùm›)„ola 68040 user mode instr^@°dONLNd∂fi
  6137. )q uction set. °dONLNd¬ä+‰((äIt does not, howeverN†°dONLNd÷‰+Q)Z, support any of the instr`İdONLNdQ+z)m
  6138. uctions fr`°dONLNd˙{+)*om the optional 68881 or 68882 °dONLNd,ä8ê(5äflå¿°dONLNd,ê8›)oating-point coprǰdONLNd,,›8)M
  6139. ocessors. Mor@°dONLNd9,82)=eover‰Ä°dONLNd>,18)3, although the emulator supports the operations of °dONLNdq9äE°(Bäthe Và‡°dONLNdv9°E )irtual Memory ManagertİdONLNdã9 Ez)j, it does not support instrÀ°dONLNd¶9zE£)o
  6140. uctions fr⇰dONLNd∞9§E˛)*om the 68851 Paged °dONLNd√FäR˚(OäHMemory Management Unit (PMMU). The 680x0-based Macintosh computer whose °dONLNd Sä_ò*
  6141. har`°dONLNdSô_∞)dwarN °dONLNdS∞_Õ)e confi[†°dONLNdSÕ_2)guration most closely r∞@°dONLNd0S2_é)eesembles the softwar
  6142. @°dONLNdDSè_¨)]e confi¿°dONLNdKS¨_)guration of the °dONLNd[`äl—(iäG68LC040 Emulator is the Macintosh Centris 610, which contains the Motor∏¿°dONLNd¢`—l    (i— ola 68LC040 °dONLNdÆmäyû(vämicrq†°dONLNd≤mûy≠)oprÆ@°dONLNdµm≠yÕ)ocessorÇ`°dONLNdºmÕy%) . (The 68LC040 micr∂`°dONLNdœm%y4)XoprÛ°dONLNd“m4y‘)&ocessor is identical to the 68040 micrS@°dONLNd¯m’y‰)°opr臰dONLNd˚m‰y)ocessor °dONLNdzäÜÍ(Éäexcept that it has no flSİdONLNdzÎÜ3)aoating-point uni\¿°dONLNd+z3Ü8)Ht. °dONLNd-z9Ü>)) dONLNd/z>ÜW)As a r]‡°dONLNd5zXÜ
  6143. )+esult, if your application or other softwar@°dONLNd`zÜ)∂e °dONLNdbáäìç(êär^†°dONLNdcáéì–)uns without prM`°dONLNdqá–ì )B;oblems on the Macintosh Centris 610, it is very likely to r‡°dONLNd¨áÀì˛)˚ un without °dONLNd∑îä†ì(ùäprG °dONLNdπîî†6)
  6144. !oblems under the 68LC040 Emulatorî@°dONLNd⁄î5†7)°.
  6145. ÆHº4ØHº
  6146.     °dONLNd‹≠ä∏ù(µäNote
  6147. ˇ·ˇ‚7^
  6148. °dONLNd·∫äΔÛ*For the complete specifiº†°dONLNd˘∫ÛΔî)i$cation of how you can expect both a °dONLNdΔä“ç(œärE°dONLNdΔé“Å)6eal 68040 and the 68LC040 Emulator to behave, see the °dONLNdV“äfiÂ(€äMC68040 32-Bit Micr%‡°dONLNdi“ÊfiÛ)\oprL °dONLNdl“Ûfi%)
  6149. ocessor UserİdONLNdx“&fi()3’X °dONLNdy“(fiN)s ManualÚ°dONLNdÅ“NfiP)&.
  6150. r°dONLNdÉ’V›\)u
  6151. .°dONLNdÖ„äÔû(ÏäThe ,
  6152. Courier°dONLNdâ„ûÔ»)Gestalt°dONLNdê„»ÔÙ)*  function rR`°dONLNdõ„ÙÔ?),eturns the value R`°dONLNd¨„?Ôá)K gestalt68020R`°dONLNd∏„áÔ
  6153. )H when you pass it the selector °dONLNd◊ä¸(˘ägestaltProcessorType°dONLNdÎ¸n)x and the calling softwarR`°dONLNdn¸—)le is executing under thR`°dONLNd—¸Â)ce emR`°dONLNd¸)ulatorï°dONLNd$¸). .°dONLNd&˝ä    £(äThis r‹Ä°dONLNd,˝£    
  6154. )Peturn value is intended to highlight the two ways in which the 68LC040 Emulator °dONLNd|
  6155. äú(ämoréİdONLNd
  6156. ú») e closely ri`°dONLNdä
  6157. »),esembles a 68020 prÀ`°dONLNdù
  6158. Ö)Wocessor than a 68040 pr     °dONLNd¥
  6159. Ü©)gocessor:
  6160. °dONLNdΩ ä'è(&än
  6161. °dONLNdøñ)Ï) The emulated envirfl@°dONLNd—Ï))V?onment does not support either the FPU or the MMU contained in °dONLNd)ñ5Â(2ñan actual 68040 pr:†°dONLNd")Ê5)Pocessor¿°dONLNd))5) .
  6162. °dONLNd+>äEè(Dän
  6163. °dONLNd-;ñGÏ) The emulated envirfl@°dONLNd?;ÏG)V    onment crå¿°dONLNdH;G∫)-%eates exception stack frames in accor3‡°dONLNdm;ªG˛)¢dance with the °dONLNd|GñS(Pñ68020 exception frame model.°dONLNdôXäd (aäVThe 68LC040 Emulator consists of two main parts, a main dispatch table and a block of °dONLNdÔeäqˇ*
  6164. Vadditional code called by entries in the main dispatch table. The main dispatch table °dONLNd    Erä~#*
  6165. !contains two native PowerPC instrµ‡°dONLNd    fr#~o)ôuctions for each rË °dONLNd    xro~
  6166. )L#ecognized 680x0 operation code (or °dONLNd    õäãÓ(àäopcode). In cases wher±`°dONLNd    ±ÓãÛ)d9e a 680x0 opcode can be handled by a single PowerPC instrû‡°dONLNd    ÍÛã(àÛuction, °dONLNd    Úåäò†(ïäthe fiÍ °dONLNd    ¯å†ò‡)rst native instrfl‡°dONLNd
  6167. å‡ò“)@8uction in the dispatch table is enough to complete the r‡°dONLNd
  6168. @å”ò˝)Û    equested °dONLNd
  6169. Iôä• (¢ä!operation. In most cases, howeverfi¿°dONLNd
  6170. jô•≥)ï", the handling of a 680x0 opcode r•†°dONLNd
  6171. åô¥•À)ïequirº‡°dONLNd
  6172. ëôÀ•Ë)es morR°dONLNd
  6173. óôÈ•)e than °dONLNd
  6174. û¶ä≤‹(Øäone PowerPC instr[@°dONLNd
  6175. ض›≤K)Suction. In that case, the fi´@°dONLNd
  6176. À¶K≤ã)nrst native instr°°dONLNd
  6177. €¶ã≤)@uction in the main dispatch °dONLNd
  6178. ˜≥äø,(ºä$table simply begins the emulation pri`°dONLNd ≥,øE)¢ocess.ˇb@ˇ ˇˇˇˇ@
  6179. ˇ·ˇ‚7^
  6180. 4*\¯, Palatino
  6181. &e.3+l"CHAPTER à)>1,     Helvetica
  6182.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6183. (‡*1-8
  6184.     )BThe 68LC040 Emulator4^*¿¯
  6185. °dONLNd\lh“(elThe second native instr°dONLNd\”h)g uction in thœÄ°dONLNd#\h)2e em∂¿°dONLNd'\h4)ulator °dONLNd-\6hÕ)$’s main dispatch table is usually a °dONLNdQiluÄ(rlPC-rπİdONLNdUiÄu‹)Pelative branch into the block of additional code. The additional code continues °dONLNd¶vlÇH(l0the emulation of the 680x0 opcode begun by the fi®°dONLNd◊vHÇj)‹    rst instr±¿°dONLNd‡vjÇà)"uction.°dONLNdËàlîw(ëlThr °dONLNdÍàxîå) e emY`°dONLNdÓàçîß)ulator∞¿°dONLNdÙà®îÈ)J’s main dispatch table also includes entries that support private opcodes °dONLNd>ïl°o(ûlrE°dONLNd?ïp°)%eserved for use by the system softwarü@°dONLNddï°c)¶e, including both ôİdONLNdvïc°ƒ)MA-line and F-line instrÙ°dONLNdçÈ)a    uctions. °dONLNdñ¢lÆq(´lF °dONLNdó¢rÆÔ)Nor example, the Mixed Mode Manager communicates with the 68LC040 Emulator usinèİdONLNd¢ÔƘ(´Ôg °dONLNdÁØlªû(∏l A-line instrû†°dONLNdÛØûª≈)2    uctions e@°dONLNd¸ØΔª)( mbedded in rœ °dONLNdتj);outine descriptors. (See 膰dONLNd!Økªœ)j“Routine Descriptors” °dONLNd7ºl»¿(≈lbeginning on page V °dONLNdIº¡»”)U1-15™°dONLNdMº”»i)# for details.) Other system softwarÈ °dONLNdpºi»‹)ñe services, including the V8İdONLNd㺛»˜)tirtual °dONLNdí…l’º(“lMemory Managerfi¿°dONLNd†…ª’)O, also issue rq¿°dONLNdÆ…Ò’X)6eserved opcodes to the ’@°dONLNd≈…X’\)geû‡°dONLNdΔ…]’Ä)mulatorOİdONLNdÕ…Ä’Ç)#.°dONLNdœ€lÁí(‰lWhen thÄ °dONLNd÷€íÁ¶)&e emg`°dONLNd⁄€ßÁ<)%ulator is active, it maps all 680x0 r-‡°dONLNdˇ€=ÁÄ)ñegisters to the r¡‡°dONLNd€ÄÁÓ)Cegisters on the PowerPC °dONLNd(ËlÙÄ(Òlmicrq†°dONLNd,ËÄÙè)oprÆ@°dONLNd/ËèÙØ)ocessorÇ`°dONLNd6ËØÙ
  6186. ) , including the 680x0 ÜİdONLNdLË
  6187. Ù)^pà†°dONLNdMËÙ)rM†°dONLNdNËÙ6)ogram ò‡°dONLNdTË6Ù:)c     °dONLNdUË;ÙÛ)*ounter (PC) and Status Register (SR). The °dONLNdılª(˛lgeneral-purpose ra¿°dONLNdêıªÕ)O>egister GPR1 serves as both the 680x0 and native stack pointer{¿°dONLNdŒıÕÂ(˛Õ. The °dONLNd‘lp( leI†°dONLNd’q)!mulator also dedicates a native r¶@°dONLNdˆ`)èegister to point to the c‡°dONLNdaª)a680x0 context block,1İdONLNd"º‡)[     a block °dONLNd,lG(l2of data containing information that needs to be prB¿°dONLNd^Hz)‹ eserved acrFİdONLNdiz‰)2oss mode switches. The °dONLNdÄl(
  6188. (%l&context block contains all the 680x0 r°dONLNd¶(Z)¢egisters, the addr2†°dONLNd∏Z(Á)L!esses of the main dispatch table °dONLNdŸ)l5Δ(2lOand the block of additional code, and other information used internally by the 3°dONLNd()«5À(2«e¸†°dONLNd))À5Ó)mulator≠@°dONLNd0)Ó5Û)#. °dONLNd26lB(?lThe ª¿°dONLNd66BÉ)eÖ`°dONLNd76ÑB÷)Omulator saves information into the context block when it is about to exit (for °dONLNdÜClOõ(LlEexample, when a 680x0 application calls a piece of native code) and rè¿°dONLNdÀCõO∞(Lõestor@°dONLNd–C±OÃ)es the °dONLNd◊Pl\™(Ylinformation fr‘@°dONLNdÂP™\{)>/om the block when it is subsequently activated.
  6189. j*x¯4k*x¯,
  6190.  
  6191. Zapf Dingbats
  6192. °dONLNdjXt`(rXs
  6193. °dONLNdklsu(qlWúİdONLNdkus†)    ARNING
  6194. ˇ·ˇ‚7^
  6195. °dONLNdvlÇr(lY@İdONLNdvrÇ∂)ou should not rİdONLNd.v∂Ç)Dely on any specifiÒ °dONLNd@vÇï)L c information about the 68LC040 °dONLNd`Çléï(ãlEmulator« °dONLNdhÇñé‚)*’s private data strñ‡°dONLNd{Ç„é˙)Muctur¿°dONLNdÄÇ˚é9)es or opcodes.
  6196. ã@°dONLNdèÖ>çE)Cs
  6197. ≤*π¯4≥*π¯ ¥l¥¯
  6198. ˇ·ˇ‚7^
  6199. ˇˇ‹.ˇ◊°dONLNdë£l≤Á(ÆlEmulator Limitationsˇˇˇˇˇˇ€r(Æ1
  6200. °dONLNdßπl≈{(¬lLar`¿°dONLNd™π{≈fl)gely because it is a purû†°dONLNd¬πfl≈)d ely softwarƒÄ°dONLNdÕπ≈Å)1e implementation of a harÅ`°dONLNdÊπÇ≈ô)rdwarπ °dONLNdÍπô≈¥)e micrÙ`°dONLNdπ¥≈√)opr1°dONLNdÛπƒ≈‰)ocessor °dONLNd˙π‰≈È) , °dONLNd¸Δl“q(œl9the 68LC040 Emulator sometimes exhibits behavior that dif$†°dONLNd5Δr“å(œrfers fr
  6201. †°dONLNd<Δå“Ê)om that of an actual °dONLNdQ”lflõ(‹l
  6202. 680x0 micr@°dONLNd[”úfl´)0oprV‡°dONLNd^”´flÀ)ocessor+°dONLNde”Àfl-) . These operational dif•†°dONLNd|”-fl9)bferà °dONLNd”9flè) ences can lead to pr(`°dONLNdì”êfl·)Woblems, ranging fr`°dONLNd•”·flÒ)Qom °dONLNd®‡lÏ(Èl%the obvious (for example, using the fl$ °dONLNdŒ‡Ï-)•oating$‡°dONLNd‘‡-Ï0)-x¿°dONLNd’‡0Ï])
  6203. point copr`°dONLNdfl‡^Ïï).
  6204. ocessor instrB†°dONLNdχïÏÏ)7uction set, which is °dONLNdÌl˘Ï(ˆlTnot supported by the 68LC040 Emulator) to the subtle (for example, depending upon a °dONLNdU˙lº*
  6205. value in an undefiµ °dONLNdg˙º√)P=ned condition code bit). If your application or other softwar‰ °dONLNd§˙√Ú(√
  6206. e depends °dONLNdÆlÒ(lon 680x0 behavior that is not r“†°dONLNdÕÒˇ)Öeprc`°dONLNd–µ)&oduced exactly by the 68LC040 Emulator·°dONLNdˆ¥⁄)¥    , your pr&İdONLNdˇ€ˆ)'oduct °dONLNd    l ™(l
  6207. might have prÁ†°dONLNd    ™ j)>(oblems when executing under the emulator±¿°dONLNd    :j )¿. The known exceptions to the °dONLNd    X!l-fi(*ldocumented 680x0 specifi∂ °dONLNd    p!fi-")rcations concern
  6208. °dONLNd    Ä7l>q(=ln
  6209. °dONLNd    Ç4x@ã) copr,‡°dONLNd    Ü4å@⁄)ocessors and instr@°dONLNd    ò4€@    )O uction sets
  6210. °dONLNd    §IlPq(Oln
  6211. °dONLNd    ¶FxRå) instró¿°dONLNd    ´FåRÀ)uction timings
  6212. °dONLNd    ∫[lbq(aln
  6213. °dONLNd    ºXxdØ)
  6214. deleted instr÷‡°dONLNd    …XØdœ)7uctions
  6215. °dONLNd    —mltq(sln
  6216. °dONLNd    ”jxv») unsupported instr»Ä°dONLNd    ‰j»v)P
  6217. uction featur]İdONLNd    Òjv
  6218. )9es
  6219. °dONLNd    ÙlÜq(Öln
  6220. °dONLNd    ˆ|xàå) instró¿°dONLNd    ˚|åà«)
  6221. uction caches
  6222. °dONLNd
  6223.     ëlòq(óln
  6224. °dONLNd
  6225. éxöç) addr|İdONLNd
  6226. éçö©)ess err¡`°dONLNd
  6227. é©ö„)
  6228. or exceptions
  6229. °dONLNd
  6230. $£l™q(©ln
  6231. °dONLNd
  6232. &†x¨ñ) bus errM°dONLNd
  6233. -†ó¨—)
  6234. or exceptions
  6235. °dONLNd
  6236. ;µlºq(ªln
  6237. °dONLNd
  6238. =≤xæ) memory-mapped I/O locationsˇ"T@ˇ ˇˇˇˇ@
  6239. ˇ·ˇ‚7^
  6240. 4H\, Palatino
  6241. &e.3+ä"CHAPTER à)>1,     Helvetica
  6242.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡äThe 68LC040 Emulator
  6243. , (‡    1-9
  6244. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6245. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿°dONLNd\ähw(eä7The following sections describe these limitations in grø†°dONLNd7\wh™)Ì
  6246. eater detail.
  6247. ÜHç4áHç àäà
  6248. ˇ·ˇ‚7^
  6249. °dONLNdEyäá‘(Éä Coprocessorsˇˇˇˇˇˇ‘@(É1
  6250. °dONLNdSçäô¢(ñäAs prÀ`°dONLNdXç¢ôœ)Ceviously indicated, the 68LC040 Emulator does not support the instrM†°dONLNdõç–ô (ñ–uction sets of °dONLNd™öä¶(£äeither the 68881 or the 68882 fl1†°dONLNd ö¶])Üoating-point copr&‡°dONLNd€ö]¶Ë)Mocessor or of the 68851 PMMU. §@°dONLNd˘ö˶˝)ãAny °dONLNd˝ßä≥´(∞äsoftwar‰¿°dONLNdß´≥·)!
  6251. e that uses fl‹°dONLNdß‚≥/)7oating-point instr< °dONLNd$ß0≥n)Nuctions is ther)‡°dONLNd3ßn≥)>eforҰdONLNd7ß≥Ú)e not compatible with the °dONLNdQ¥ä¿‹(Ωä68LC040 Emulatorˇ °dONLNda¥€¿)Q. Because therч°dONLNdo¥¿()=e arìİdONLNds¥(¿ˇ)/e several 680x0-based Macintosh computers that °dONLNd£¡äÕ“( ädo not contain fl⁄İdONLNd¥¡“Õ)Hoating-point coprœ¿°dONLNd≈¡Õ_)Mocessors, this r`°dONLNd’¡`Õ¸)A&estriction is not likely to cause new °dONLNd˚Œä⁄—(◊äcompatibility pr¿°dONLNd Œ—⁄;)Goblems for your softwar@°dONLNd"Œ<⁄¸)k,e. It’s possible that you have used SANE to °dONLNdN€äÁø(‰ä perform har‰¿°dONLNdY€øÁ÷)5dwarİdONLNd]€◊Á)e-independent fl¸ °dONLNdm€Á»)H)oating-point arithmetic. If so, you’ll pr;†°dONLNdñ€…Á)™obably notice °dONLNd§ËäÙ£(Òäthat flb‡°dONLNd´Ë§Ù)oating-point calculations arW@°dONLNd«ËÙ
  6252. )y3e performed even faster under the 68LC040 Emulator °dONLNd˙ıäπ(˛ä than on a rÒ°dONLNdıπ\)/"eal 680x0-based Macintosh computer≥@°dONLNd'ı\€)£. This is because PowerPC pr9İdONLNdCı‹¸)Äocessorù`°dONLNdJı¸ˇ) -°dONLNdLä( äSbased Macintosh computers include an accelerated version of SANE written in native °dONLNdüäÕ*
  6253.  
  6254. PowerPC code.°dONLNd≠!ä-¢*:The 68LC040 Emulator does not support the 68851 PMMU instr<¿°dONLNdÁ!£-(*£uction set (which also °dONLNd˛.ä:y(7ä3includes the 68030 and 68040 internal PMMUs). The V,°dONLNd1.y:)Ôirtual Memory Manager is still °dONLNdP;äG˝(Däsupported, but using a dif`¿°dONLNdj;˝G    )sferC@°dONLNdm;    GX) ent mechanism. Vg°dONLNd};WG»)Nery few applications addró@°dONLNdñ;»G )q
  6255. ess the PMMU °dONLNd£HäTñ(QädirI °dONLNd¶HóT´)
  6256. ectly! °dONLNd´H´T“) , so this r—¿°dONLNd∂H“TF)'estriction is not likely to afÖ`°dONLNd‘HGT)u.fect many developers. Those applications that °dONLNdUäa≠(^ädo addrç¿°dONLNd    U≠a˝)#ess the PMMU dir≥@°dONLNdU˝a)Pectly arϰdONLNd!Uaa) e very likely alru†°dONLNd2UbaÕ)Eeady incompatible with 8‡°dONLNdIUÕa)kA/UX and with °dONLNdWbän°(käthe Và‡°dONLNd\b°n )irtual Memory ManagertİdONLNdqb n
  6257. )j.°dONLNdstäÄú(}äMor/¿°dONLNdvtùÄÕ) e generally£‡°dONLNdÅtÃÄß)/0, the 68LC040 Emulator does not support the copr\°dONLNd±t®Ä)‹ocessor bus interface. °dONLNd»Åäç£(ääAs a rI@°dONLNdŒŧçŒ) esult, the fl °dONLNdŸÅŒç“)*e®¿°dONLNd⁄Å”çΔ)5mulator does not support any externally connected har≠‡°dONLNdÅΔç›)Ûdwar†°dONLNdÅ›ç‰)e °dONLNdéäöù(óäcopr,‡°dONLNdéûö≈)    ocessors.
  6258. ∏Hø4πHø ∫ä∫
  6259. ˇ·ˇ‚7^
  6260. °dONLNd#´äπƒ(µä Instruction ˆ@°dONLNd/´ƒπÀ):TŸÄ°dONLNd0´ÀπÌ)imingsˇˇˇˇˇˇ‘@(µ1
  6261. °dONLNd8øäÀI(»ä)The 68LC040 Emulator executes 680x0 instr4‡°dONLNdaøJÀÒ)¿'uctions as fast as possible, making no °dONLNdàÃäÿú(’ä=attempt to maintain the same number of clock counts as on a rÓ`°dONLNd≈Ãúÿ⁄(’úeal 68040 micrí°dONLNd”ÀÿÍ)?oprŒ†°dONLNd÷ÃÍÿ
  6262. )ocessor¢¿°dONLNd›Ã
  6263. ÿ) . °dONLNdflŸäÂû(‚äTher¿°dONLNd„ŸüÂØ)e ar`°dONLNdÁŸØˆ)e classes of instr`°dONLNd˘ŸˆÂ˙)G:uctions that execute in the same number of cycles whether °dONLNd4ÊäÚ£(Ôäon a rㇰdONLNd:Ê£ÚY)'eal 68040 or under the 68LC040 Emulator3°dONLNdaÊYÚ¸)∂%, but you should not depend on this. °dONLNdáÛäˇò(¸ä@In general, of course, your 680x0 application is most likely alrH†°dONLNd«Ûôˇˆ(¸ôeady independent of °dONLNd€ä û(    äinstró¿°dONLNd‡û 1)"uction timing, because it should r0 °dONLNd2 o)î
  6264. un without pr·‡°dONLNdo ˝)=oblem on a wide range of 680x0 °dONLNd.
  6265. äû(ämicrq†°dONLNd2
  6266. û≠)oprÆ@°dONLNd5
  6267. ≠)ocessors having quite dif|@°dONLNdN
  6268. ')nfer^¿°dONLNdQ
  6269. 'h) ent clock rates.
  6270. 7H>48H> 9ä9
  6271. ˇ·ˇ‚7^
  6272. °dONLNdb*ä8Ù(4äDeleted Instructionsˇˇˇˇˇˇ‘@(41
  6273. °dONLNdx>äJ¡(Gä
  6274. Several instrl°dONLNdÖ>¡J=)7uctions included in the instr[İdONLNd¢>=Jµ)|uction set of the 68020 micr•‡°dONLNdæ>µJƒ)xopr‚İdONLNd¡>ƒJ¯) ocessor werŸ†°dONLNdÃ>¯Jˇ)4e °dONLNdŒKäWç(TärE°dONLNdœKéWª)    emoved fr|†°dONLNdÿKªW)- om the instrª@°dONLNd‰KWõ)5'uction sets of the 68030 and 68040 micr/¿°dONLNd     KúW´)¨oprl`°dONLNd    K´W )ocessors. The deleted .°dONLNd    $Xädü(aäinstrl°dONLNd    )Xüd )
  6275. uctions ar>`°dONLNd    3X d„)+e the ,
  6276. Courier>`°dONLNd    9X„d)CALLM>`°dONLNd    >Xd) and >`°dONLNd    CXd()RTM>`°dONLNd    FX(d?) instr*`°dONLNd    LX?dî)uctions, which wer¸¿°dONLNd    ^Xìd)Te intended for use in module .°dONLNd    {eäq“(näcalls. These instrX °dONLNd    çe”q˛)I
  6277. uctions ar√ °dONLNd    óe˛q∂)+'e not supported by the 68LC040 Emulator·Ä°dONLNd    æe∂q)∏, and any attempt °dONLNd    —rä~È({äto execute them will r˝†°dONLNd    ÁrÈ~J)_esult in an illegal instr”@°dONLNd
  6278. rK~¬)buction exception. Howeverh¿°dONLNd
  6279. r¬~)w, because these °dONLNd
  6280. )äãû(àäinstró¿°dONLNd
  6281. .ûã…)
  6282. uctions ar¿°dONLNd
  6283. 8 ãÏ),e not pr¿°dONLNd
  6284. @ÏãS)"esent in any 680x0 micr5@°dONLNd
  6285. WSãb)goprq‡°dONLNd
  6286. Zbã∏)ocessor either before°dONLNd
  6287. n∏ã)Ve or after the 68020, °dONLNd
  6288. Ñåäò†(ïäthis r˛ °dONLNd
  6289. äå†ò)estriction is not likely to prR†°dONLNd
  6290. ®åòw)wesent compatibility prˆ†°dONLNd
  6291. æåwò·)`oblems for your softwarU‡°dONLNd
  6292. ’å‚òÈ)ke.ˇ$ú@ˇ ˇˇˇˇ@
  6293. ˇ·ˇ‚7^
  6294. 4*\¯, Palatino
  6295. &e.3+l"CHAPTER à)>1,     Helvetica
  6296.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6297. (‡*1-10
  6298.     )BThe 68LC040 Emulator4^*¿¯
  6299. j*p¯4j*p¯ klk¯
  6300. ˇ·ˇ‚7^
  6301. °dONLNd\lj(fl Unsupported Instruction Featuresˇˇˇˇˇˇ‘@(fÒ1
  6302. °dONLNd"pl|£(yl
  6303. Several instrl°dONLNd/p£|‚)7uction or addrπ†°dONLNd=p‚|!)?
  6304. essing mode fiÅ¿°dONLNdKp"|Ç)@elds and encodings ar·°dONLNd`pÇ|–)`e documented by °dONLNdp}lâá(ÜlMotorÁ†°dONLNdu}áâ¶)ola as rGİdONLNd}}ßâ4)  eserved. In addition, many instr£†°dONLNdù}4â_)ç
  6305. uctions ar†°dONLNdß}`â∑),e documented as pr˚¿°dONLNdπ}∂â‹)Voducing °dONLNd¡älñà(ìlundefiJ†°dONLNd«äâñ‰)ned condition code r>`°dONLNd€ä‰ñ6)[esult bits or undefi°dONLNdÔä7ñN)Sned r¿°dONLNdÙäNñq)    egister r÷İdONLNd˝äqñè)#esults. ̆°dONLNdäèñ©)Accorœ‡°dONLNd
  6306. ä©ñ≈)dinglyê@°dONLNdä≈ñ⁄), the °dONLNdól£æ(†lbehavior of these rã¿°dONLNd)óæ£Ë)R    eserved fig°dONLNd3óÈ£-)+elds and undefi)İdONLNdBó.£E)Ened r%@°dONLNdGóE£m)
  6307. esults difE °dONLNdQóm£ç)(fers acrGİdONLNdYó磗) oss the various °dONLNdi§l∞
  6308. (≠l#members of the 680x0 family of micrц°dONLNdå§
  6309. ∞)°opr¡@°dONLNdè§∞÷)'ocessors and under the 68LC040 Emulator⇰dONLNd∂§÷∞Ì)∫. It is °dONLNdæ±lΩ(∫l"unlikely that any existing softwar∑¿°dONLNd‡±Ωò)î#e intentionally depends on either r” °dONLNd±òΩ¬)ò    eserved fiÆ`°dONLNd
  6310. ±√Ω„)+elds or °dONLNdæl à(«lundefiJ†°dONLNdæâ †)ned rF`°dONLNd æ† ˙)esults. It is, however¿°dONLNd6æ˙ )Z, r”¿°dONLNd9æ o)emotely possible that thr,‡°dONLNdRæp ö)n    ough a pr— °dONLNd[æö ›)*
  6311. ogramming err∫İdONLNdhæ› Ë)Cor °dONLNdkÀl◊ß(‘l some softwar¥‡°dONLNdwÀß◊5);e might be depending on these r°dONLNdñÀ6◊Ã)è!esults and hence might behave dif´°dONLNd∑ÀÃ◊ÿ)ñferçİdONLNd∫Àÿ◊) ently °dONLNd¿ÿl‰í(·lunder thƒ@°dONLNd»ÿ퉶)&e em´Ä°dONLNdÃÿ߉.)ulator than on an actual 680x0.
  6312. *    ¯4*    ¯ l¯
  6313. ˇ·ˇ‚7^
  6314. °dONLNdÏılœ(ˇlInstruction Cachesˇˇˇˇˇˇ‘@(ˇÒ1
  6315. °dONLNd    l‹(lThe operation of the instrü¿°dONLNd    ‹`)puction cache in the 68040 micr
  6316. °dONLNd8    ap)ÖoprI†°dONLNd;    pÎ)ocessor is not supported by °dONLNdWl"Œ(lthe 68LC040 Emulator\İdONLNdkŒ"M)b , although all of the bits in thj °dONLNdãM"`)e Ca ¿°dONLNdè`"j)ch `°dONLNdëk"~) e Co‚İdONLNdï~"ã)ntrª@°dONLNdòã"ê)
  6317. o0¿°dONLNdôë"°)l Re¿°dONLNdù¢"Ì)gister (CACR) an‡@°dONLNd≠Ì"ı)Kd °dONLNdØ#l/x(,lCaó°dONLNd±#x/Ç) chÿ†°dONLNd≥#Ç/â)
  6318. e √‡°dONLNdµ#â/ñ)Ad¶‡°dONLNd∑#ó/°)drᆰdONLNdπ#°/™)
  6319. esé@°dONLNdª#™/º)    s Re¬‡°dONLNdø#º/)gister (CAAR) r6@°dONLNdŒ#/O)Felated to the instr=°dONLNd·#O/ë)Muction cache arfİdONLNd#ë/»)B e supported.`°dONLNd¸#…/◊)8 In °dONLNd0l<5(9l-general, of course, your code should not addr\†°dONLNd-05<t)…ess the cache r> °dONLNd<0t<•)? egisters dirA°dONLNdH0•<π)1ectly°dONLNdM0π<ª).ˇˇÛ+°dONLNdOBlNr(KlBõ¿°dONLNdPBrN)$ecause both emulated code and data r7ǰdONLNdtBN¯)ß1eside in the PowerPC data cache, the performance °dONLNd•Ol[Ü(Xlbenefiy°dONLNd´Oá[)ts associated with caching ar{ °dONLNd»O[()~
  6320. e still prD`°dONLNd“O)[ÿ)$'esent. Indeed, the caching scheme used °dONLNd˘\lhë(eltransparäİdONLNd\ëh )%ently by the 68LC040 Emulator r’°dONLNd \ h≤)è#esults in a higher level of softwar °dONLNdC\≥h˜)ìe compatibility °dONLNdSilu(rl"than is found on actual 680x0 micrK`°dONLNduiu)òoprà°dONLNdxiu≈)(ocessors. Some older versions of softwar °dONLNd†iΔu·)≥e that °dONLNd®vlÇt(larE°dONLNd™vuÇa)    3e incompatible with the 68040 cache mechanism can r^‡°dONLNd›vaÇû)Ï
  6321. un without pr†°dONLNdÍvüÇ⁄)> oblem under °dONLNd˜Élèu(ålthì¿°dONLNd˘Éuèâ)    e em{°dONLNd˝Éäè§)ulatorW†°dONLNdɧè¶).°dONLNdïl°(ûl&Requests to invalidate the 68040 instr£`°dONLNd+ï°R)§uction cache arǰdONLNd:ïR°p)Be ignorô‡°dONLNdAïq°Ó)ed by the 68LC040 EmulatorrİdONLNd[ïÓ°Û)}. °dONLNd]¢lÆï(´lHowever †°dONLNdd¢ïÆ`))0, you should continue to issue those calls in or†°dONLNdî¢`ÆÄ)Àder to rmİdONLNdú¢ÄÆË) emain compatible with °dONLNd≤Ølª(∏l680x0-based Macintosh computers
  6322. †°dONLNd—ت)ô. Mor∫`°dONLNd÷ت4)eoverû†°dONLNd€Ø4ªg)
  6323. , all cache fl˜†°dONLNdÈØgªã)3ushing rõ°dONLNdÒØåª£)%equir≤@°dONLNdˆØ£ªÎ)ed for PowerPC °dONLNdºl»É(≈lcode À °dONLNd
  6324. ºÉ»≤)
  6325. fragments  °dONLNdº≥»∫)07is performed automatically by the Code Fragment Managers°dONLNdKºπ»ª(≈π.
  6326. ÷*‰¯4◊*‰¯
  6327.     °dONLNdM’l‡(›lNote
  6328. ˇ·ˇ‚7^
  6329. °dONLNdR‚lÓÛ* For details on invalidating the (¿°dONLNdr‚ÙÓ)à680x0 —`°dONLNdx‚Ó#)instrÈ °dONLNd}‚#Ó£)uction cache, see the chapter °dONLNdõÓl˙ (˜l!“Memory Management Utilities” in à¿°dONLNdºÓ ˙y)†Inside Macintosh: Memoryæ°dONLNd‘Óx˙z)l.,
  6330.  
  6331. Zapf Dingbats
  6332. >°dONLNd÷ÒĢÜ)u
  6333. °dONLNdÿˇl o(lIfiİdONLNdŸˇo ˆ) t is possible, although unlikely‡°dONLNd˘ˇˆ Ï)á:, that an application depends on the ability of the 68040 °dONLNd3 lÄ(linstró¿°dONLNd8 Ä»)uction cache to r˘ °dONLNdI »5)Hetain a stale copy of instr»`°dONLNdd 6Ë)n'uctions after the RAM copy of them has °dONLNdãl%I("l0been changed. Such applications do not work corrv@°dONLNdªI%‡)›!ectly with 68000-based Macintosh °dONLNd‹&l2c(/l7computers (for example, the Macintosh Plus, SE, Classic
  6334. Ø`°dONLNd    $c-h(+c®
  6335. ©`°dONLNd    &i2k+,)`°dONLNd    &l2Î) or PowerBook 100) and any °dONLNd    03l?ı(<lR68040-based computers (for example, the Macintosh Quadra 950) when the Cache CDEV °dONLNd    Ç@lL·*
  6336. is used to disable caching. ù‡°dONLNd    û@·L˙)uAs a rg °dONLNd    §@˚L ).esult, this nonemulated behavior should not pr¿°dONLNd    “@ÀL˜)–
  6337. esent any °dONLNd    ‹MlY»(Vlnew compatibility pr2°dONLNd    M…YÎ)]oblems.
  6338. w*~¯4x*~¯ yly¯
  6339. ˇ·ˇ‚7^
  6340. °dONLNd    ¯jlxÙ(tlAddress Error Exceptionsˇˇˇˇˇˇ‘@(tÒ1
  6341. °dONLNd
  6342. ~lär(álTµ¿°dONLNd
  6343. ~qäé)o impr.¿°dONLNd
  6344. ~èä-)#ove the performance of branch instr9İdONLNd
  6345. <~-ä—)û%uctions, the 68LC040 Emulator is not °dONLNd
  6346. aãlóC(îl/completely compatible with an actual 68040 micrI‡°dONLNd
  6347. êãDóS)ÿoprÜİdONLNd
  6348. ìãSó–)ocessor when detecting and °dONLNd
  6349. Æòl§o(°lrE°dONLNd
  6350. Øòp§≠)
  6351. eporting addrưdONLNd
  6352. ºò≠§…)=ess err≈İdONLNd
  6353. √ò…§)or exceptions. , °dONLNd
  6354. “ò    §)@Af¿°dONLNd
  6355. ”ò§B)  680x0 micrŰdONLNd
  6356. fiòB§Q)2oprΩ†°dONLNd
  6357. ·òQ§∏)ocessor checks for addrœ@°dONLNd
  6358. ¯ò∏§‘)gess err °dONLNd
  6359. ˇò’§Â)ors °dONLNd •l±É(Ælbefor_†°dONLNd •ɱD),e completing the execution of a branch instrì°dONLNd 4•D±|)¡uction; if it fiÔ¿°dONLNd D•|±±)8 nds an addrÁ¿°dONLNd O•±±Õ)5ess err,†°dONLNd V•Œ±◊)or◊`°dONLNd X•÷±Î), the °dONLNd ^≤læÄ(ªlmicrq†°dONLNd b≤Äæè)oprÆ@°dONLNd e≤èæ∂)    ocessor rÑ¿°dONLNd n≤∂æ)'eports (in an addrìİdONLNd Ä≤æ!)Oess errÿ`°dONLNd á≤!æõ)or exception frame that it cr˙†°dONLNd §≤õæÓ)zeates on the stack) ˇ(í@ˇ ˇˇˇˇ@
  6360. ˇ·ˇ‚7^
  6361. 4H\, Palatino
  6362. &e.3+ä"CHAPTER à)>1,     Helvetica
  6363.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡äThe 68LC040 Emulator
  6364. , (‡1-11
  6365. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6366. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿°dONLNd\ähE(eä+the PC at the beginning of the branch instrù‡°dONLNd+\Eh)ª*uction. By contrast, the 68LC040 Emulator °dONLNdUiäuŒ(rächecks for addrÄ °dONLNddiŒuÍ)Dess err≈°dONLNdkiÍu˙)ors Í °dONLNdoi˙u )after<¿°dONLNdti
  6367. uy) executing a branch instr†@°dONLNdçiyu±)luction; as a rã@°dONLNdõi±u◊)8 esult, it r3İdONLNd¶iÿu)' eports the °dONLNd±väÇ‘(äodd branch addr∂¿°dONLNd¿v‘ÇÏ)JAess as the PC in the exception frame. Because the PC of the instrp`°dONLNdvÌÇ (Ìuction °dONLNdÉäè(åäthat caused the branch is not rN °dONLNd'Éèl)Öeported, you might fi!İdONLNd<Émèñ)^    nd it morG‡°dONLNdEÉñè©))e difª‡°dONLNdJÉ©èØ)fi»†°dONLNdLÉØè˘)cult to debug an °dONLNd]êäú(ôäapplication that commits addrˇ°dONLNdzêú+)Öess errC‡°dONLNdÅê,ú>)ors. ª`°dONLNdÜê>úD)Y{‡°dONLNdáêDú‚)#ou might also have compatibility prs‡°dONLNd™ê‚ú )û
  6368. oblems if °dONLNd¥ùä©›(¶äyou install an addr„İdONLNd«ù›©˘)Sess err(`°dONLNdŒù˙©U)or exception handler÷ °dONLNd‚ùT©V)Z.
  6369. «HŒ4»HŒ …ä…
  6370. ˇ·ˇ‚7^
  6371. °dONLNd‰∫ä»˙(ƒäBus Error Exceptionsˇˇˇˇˇˇ‘@(ƒ1
  6372. °dONLNd˙Œä⁄6(◊ä$The 68LC040 Emulator handles bus errr¿°dONLNdŒ6⁄£)¨or exceptions slightly difä@°dONLNd8Œ£⁄Ø)mferl¿°dONLNd;ŒØ⁄) ently than does a r†°dONLNdNŒ⁄)Real °dONLNdR€äÁπ(‰ä
  6373. 680x0 micr@°dONLNd\€∫Á…)0oprV‡°dONLNd_€…ÁÈ)ocessor+°dONLNdf€ÈÁN) . If you install a bus err¿°dONLNdÄ€NÁ|)e
  6374. or handlerM‡°dONLNdä€|Á˜)., you might need to be awarfi`°dONLNd•€˜Á    ){e of °dONLNd™ËäÙØ(Òä    these dif`°dONLNd≥Ë∞Ùº)&fer‡°dONLNd∂˪Ùÿ) ences. ’ °dONLNdΩËÿÙfi)YdONLNdæËfiÙF)ou also need to be awar“†°dONLNd’ËFÙ~)he of these difÙ°dONLNd„Ë~Ùä)8fer÷İdONLNdÊËäÙ    ) ences when debugging your °dONLNdıä´(˛äsoftwar‰¿°dONLNdı´Ü)!0e, because most debuggers need to handle bus errG‡°dONLNd7ıáƒ)‹or exceptions.°dONLNdFä˙(äThe 68LC040 Emulator cr≠İdONLNd]˙Ó)p5eates format $B exception frames when generating and °dONLNdíä ”(ähandling bus errº¿°dONLNd¢” )I ors. HoweverÓİdONLNdÆ :); , several fiÿ°dONLNd∫; —)-"elds within the exception frame arä¿°dONLNd‹“ )ó
  6375. e documented °dONLNdÈ!ä-≥(*äby Motor~`°dONLNdÒ!≥-Ó))ola as interna£°dONLNdˇ!Ó-˘);l fi °dONLNd!˙-) elds,¢‡°dONLNd!-y) and the contents of thosꇰdONLNd!!z-á)le fiÁ@°dONLNd%!á-†)
  6376. elds ar°dONLNd+!°-§)r7°dONLNd,!•-ı)e very likely to difuİdONLNd@!ı-)Pfer °dONLNdD.ä:ˇ(7äQbetween the 68LC040 Emulator exception stack frame and the exception stack frame °dONLNdï;äGí*
  6377. crµ@°dONLNdó;íGÒ)eated by a 680x0 micr◊†°dONLNd¨;ÒG)_opr@°dONLNdØ;G!)ocessorË`°dONLNd∂; G%). ∫¿°dONLNd∏;%G+)Y{@°dONLNdπ;+Go)ou should not rU@°dONLNd»;oG©)Dely on these r@°dONLNd÷;™G‘);    eserved fi·Ä°dONLNd‡;‘GÒ)*elds. T"°dONLNdÁ;ÒG)o avoid °dONLNdÔHäT˝(QäUany possible confusion that the internal state information in the emulated exception °dONLNdDUäaÜ*
  6378. :frame is compatible with the internal state information cr»`°dONLNd~UÜaÓ)¸eated by the 680x0 micr» °dONLNdïUÓaÛ)ho=†°dONLNdñUÙa˜)-°dONLNdòbänì(käprG °dONLNdöbîn )
  6379.  ocessors, the exception frame cr,@°dONLNd∫b nQ)å eated by thH °dONLNd≈bQne)1e em/`°dONLNd…bfn))ulator intentionally uses a value in the °dONLNdÚoä{ë(xäVú`°dONLNdÛoê{€)ersion Number fi?İdONLNdo‹{{)L&eld of the exception frame that is dif]‡°dONLNd)o{{á)üfer@`°dONLNd,oá{û) ent fr∂†°dONLNd2oû{˝)om the value put ther*‡°dONLNdGo˛{)`e by °dONLNdL|äàÃ(Öäany 680x0 micr˙¿°dONLNdZ|Ãà€)Bopr7`°dONLNd]|‹à¸)ocessor İdONLNdd|¸à˛) .°dONLNdféäö“(óäIn addition, therc¿°dONLNdwé“ö‚)He arr`°dONLNd{é‚öK)e several documented fiπ†°dONLNdíéKöö)ields of the bus err∏ °dONLNd•éöö)Oor exception frame that °dONLNdΩõäß—(§ähave slightly dif¿°dONLNdŒõ“ßfi)Hferˆ@°dONLNd—õ›ß ) ent values in thΩİdONLNd·õ!ß5)De em§¿°dONLNdÂõ6ßË)'ulator than on a 680x0-based Macintosh °dONLNd ®ä¥¥(±äcomputerÑ@°dONLNd®¥¥π)*. %‡°dONLNd®π¥)As long as bus errrİdONLNd(®¥À)O+or exception handlers do not modify these fi÷İdONLNdT®À¥)√elds, it is still .°dONLNdfµä¡fi(æäpossible to use the ,
  6380. Courier°dONLNdzµfi¡)TRTE°dONLNd}µ¡) instrl°dONLNdɵ¡¥))uction to continue execution of the instrX°dONLNd¨µ¥¡)≠uction that caused .°dONLNdø¬äŒ(Àäthe exception. In particular·†°dONLNd€¬Œ+)v
  6381. , the PC fiÏ`°dONLNdʬ+Œ)+2eld of the exception frame might not point to the °dONLNdœä€(ÿäexact beginning of the instró¿°dONLNd4œ€)x@uction that generated the exception. Instead, it might point to °dONLNdt‹äËR(Âä.some location near the beginning of that instrÊİdONLNd¢‹RËr)»uction. q °dONLNd™‹sË‘)!Also, the Stage B addr#¿°dONLNd¿‹’ËÍ)bess fiÙ °dONLNdΔ‹ÍË
  6382. )eld and °dONLNdŒÈäı(Úäthe Stage B and Stage C instrJ¿°dONLNdÎÈ    ıC)
  6383. uction pipe fiˆ¿°dONLNd˘ÈCı¯):)elds might not contain valid information.°dONLNd    #˚ä®(äFinally
  6384. °dONLNd    *˚®Ω), the j`°dONLNd    0˚Ω)Special Status W‘İdONLNd    @˚)Hor°dONLNd    B˚A)
  6385. d (SSW) dif|`°dONLNd    M˚A”)2fers under the 68LC040 EmulatorVİdONLNd    l˚”)í. The 68LC040 °dONLNd    zäN(ä+Emulator does not distinguish between instr‹ °dONLNd    •NÙ)ƒ&uction space and data space accesses; °dONLNd    Àä!Ù(äinstead, it converts instrz°dONLNd    ÂÙ!s)juction fetches to data space rfl °dONLNd
  6386. s!å)eads. £ °dONLNd
  6387.     å!•)As a rl`°dONLNd
  6388. ¶!)esult, the FC2–FC0 fi€@°dONLNd
  6389. $!)[eld °dONLNd
  6390. ("ä.à(+ä;always indicates either a supervisor or a user data space røÄ°dONLNd
  6391. c"à.ò)˛eferk†°dONLNd
  6392. g"ô.Ò)ence. In addition, thdONLNd
  6393. |"Ò.¯)Xe °dONLNd
  6394. ~/ä;ó(8äem†°dONLNd
  6395. Ä/ò;})6ulator never sets the FC, FB, or RM bits, and it ignorİdONLNd
  6396. ∂/};)Â"es the RC and RB bits. The DF bit °dONLNd
  6397. ÿ<äH(Eäis fully supported, howeverE °dONLNd
  6398. Û<HR)z, allowing both pr@°dONLNd <SHÙ)O#ogram completion of bus cycles and .°dONLNd (IäUé(RärR`°dONLNd )IéUó)er>`°dONLNd +IóU)    unning of bus cycles with the >`°dONLNd IIU+)ÇRTE>`°dONLNd LI+UB) instr*`°dONLNd RIBU)-uction. The 68LC040 Emulator also puts valid .°dONLNd Väb(_ävalues in the RM and SIZ bits.
  6399. ÄHá4ÅHá ÇäÇ
  6400. ˇ·ˇ‚7^
  6401. °dONLNd ûsäÅ.*Memory-Mapped I/O Locationsˇˇˇˇˇˇ‘@(}1
  6402. °dONLNd ªáäì8(êä(In general, most applications do not dirü°dONLNd „á8ì˝)Æ*ectly access memory-mapped I/O locations. °dONLNd
  6403. îä†Å(ùä9Instead, they call device drivers or other system softwarÅ¿°dONLNd Fîņå)˜e rê`°dONLNd Iîå†Ò) outines to perform the °dONLNd `°ä≠ç(™ärE°dONLNd a°é≠
  6404. )equested I/O operations. Fo°dONLNd |° ≠ô)}"r code (such as a device driver) tˇ¿°dONLNd û°ô≠µ)éhat do$¿°dONLNd §°∂≠ø)es+`°dONLNd ¶°ø≠Œ)     dirtİdONLNd ™°Œ≠)
  6405. ectly access °dONLNd ∑Æä∫,(∑ä!memory-mapped I/O locations, therc °dONLNd ÿÆ,∫<)¢e arq¿°dONLNd ‹Æ<∫˝),e a number of compatibility issues. In some ˇ!‚@ˇ ˇˇˇˇ@
  6406. ˇ·ˇ‚7^
  6407. 4*\¯, Palatino
  6408. &e.3+l"CHAPTER à)>1,     Helvetica
  6409.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6410. (‡*1-12
  6411.     )BThe 68LC040 Emulator4^*¿¯
  6412. °dONLNd\lh˙(el cases, the 680x0 emulation envirß@°dONLNd \˙hÛ)é6onment might not perform some write operations that a °dONLNdViluo(rlrE°dONLNdWipu»)eal 680x0 performs: ,
  6413.  
  6414. Zapf Dingbats
  6415. °dONLNdllÜq(Öln
  6416. .°dONLNdn|xàå) The ,
  6417. Courier°dONLNdr|åà§)BSET°dONLNdv|§àπ) and °dONLNd{|πà—)BCLR°dONLNd|—àË) instrl°dONLNdÖ|ËàÌ)<uctions might not write back an operand if none of the bits .°dONLNd¡àxîâ(ëxwere†°dONLNdƒàâîœ)e changed as a r∏¿°dONLNd‘àœî/)Fesult of the operation.
  6418. °dONLNdÏùl§q(£ln
  6419. .°dONLNdÓöx¶Ì) Some memory-to-memory °dONLNdö̶)uMOVE°dONLNdö¶) instrl°dONLNdö¶Â)-uctions might not write to memory if the sour>`°dONLNd;ö¶)…ce .°dONLNd>¶x≤‘(Øxand destination addr˘¿°dONLNdR¶‘≤ı)\esses arâ°dONLNdZ¶ˆ≤')" e the same.°dONLNdf∑l√r(¿lY@İdONLNdg∑r√W)3ou might need to modify your application to use dif™Ä°dONLNdö∑W√c)Âferç°dONLNdù∑c√¬) ent sequences of instrÑ@°dONLNd≥∑¬√Ô)_ uctions to °dONLNdæƒl–¡(ÕlMperform the operations if an I/O device was expecting these write bus cycles.ˇˇÜ.°dONLNd ÷l‚*The ˇ˛íT°dONLNd÷Ä‚í)TASˇˇÜ°dONLNd÷í‚ñ), ˇ˛íTå8°dONLNd÷ñ‚®)CASˇˇÜå8°dONLNd÷®‚ø), and ˇ˛íTòp°dONLNd÷ø‚◊)CAS2ˇˇÜòp°dONLNd"÷◊‚Ì) instr
  6420. å°dONLNd(÷Ó‚Z)uctions in the 68040 instr¸°dONLNdB÷Z‚„)l uction set perform indivisible r˘Ã°dONLNdb÷‚‚˜)àead, .°dONLNdg„lÔå(ÏlmodifydONLNdm„ãÔb)/, and write memory operations. The 68040 bus arW‡°dONLNdú„cÔâ)ÿ    chitectur †°dONLNd•„äÔõ)'e pr`°dONLNd©„õÔ‚)ovides a special °dONLNd∫l¸—(˘llocked bus cycle for a r±°dONLNd“—¸È)e>ead-and-write operation without allowing any other devices to °dONLNd˝l    o(lrE°dONLNd˝p    Õ)Nequest the bus between them. These indivisible bus cycles cannot be emulated. ¨Ä°dONLNd_˝Õ    „(ÕAs a °dONLNdd
  6421. lo(lrE°dONLNde
  6422. pı)Vesult, an alternate bus master type of I/O device might be allowed to modify a memory °dONLNdªl#Õ( llocation between the r1`°dONLNd—Œ#O)bead and the write operations.°dONLNdÔ)l5P(2l3The 68020 and 68030 bus interface supports a featurñ†°dONLNd")P5s)‰    e called ܆°dONLNd+)t5Ã)$dynamic bus sizing_†°dONLNd=)Õ5„)Y that °dONLNdC6lB”(?lSallows 8- or 16-bit-wide I/O devices to work with the 32-bit-wide data bus. If the °dONLNdñClOu*
  6423. prG °dONLNdòCvO›)
  6424. ocessor has a memory r‡°dONLNdÆCfiOz)h$equest for a data width that was larh@°dONLNd“CzOÔ)úger than the data width of °dONLNdÌPl\e(Yl8the device connected to the bus, the memory interface br/`°dONLNd%Pf\ê)˙
  6425. eaks the rgİdONLNd/Pê\Î)*equest into multiple °dONLNdD]lio(flrE°dONLNdE]pi∞)equests that arP°dONLNdT]∞iç)@5e the width of the device. For example, if a 32-bit r≥†°dONLNdâ]çi£)›ead rfi°dONLNdé]£iÚ)equest is made to °dONLNd†jlv∫(slMan 8-bit device, the memory interface actually performs four separate 8-bit rưdONLNdÌj∫v€(s∫eads to °dONLNdıwlÉ (Äl%assemble the 32-bit data. This featurVİdONLNdw Én)üe cannot be emulated. ¿°dONLNd0wnÉ›)cAny application or other °dONLNdIÑlêç(çlsoftwar‰¿°dONLNdPÑçê)!e that depends upon this featur°dONLNdoÑêm)ãe must to be modifiú†°dONLNdÇÑmê“)Ued to use separate instrf¿°dONLNdöÑ”êı)fuctions °dONLNd¢ëlù$(öl*to access and assemble each piece of data.°dONLNdÕ£lØd*8The 68020 and 68030 bus interface also supports a featur±Ä°dONLNd£dØá)¯    e called °Ä°dONLNd£àØ»)$
  6426. byte smearingVİdONLNd£…Øfl)A that °dONLNd!∞lºá(πlBallows 8- or 16-bit data to be duplicated on a write operation acrq °dONLNdc∞áºfl(πáoss all 32 bits of the °dONLNd{Ωl…œ(Δldata bus. The 68040 pr¨¿°dONLNdëΩœ…l)c$ocessor does not support this featur7`°dONLNdµΩm…¶)ûe. This featurƒÄ°dONLNd√Ω¶…⁄)9 e cannot be °dONLNdœ l÷˚(”l emulated, but solutions that wer`°dONLNdÔ ¸÷fi)ê3e used for the 68040 should be compatible with the °dONLNd"◊l„æ(‡l68LC040 Emulatorˇ °dONLNd2◊Ω„ø)Q..°dONLNd4Èlı˛(Úl The 68020, 68030, and 68040 micrR`°dONLNdTÈ˛ı
  6427. )íopr$¿°dONLNdWÈ
  6428. ıD) ocessors defi$¿°dONLNddÈDıb)7ne the $¿°dONLNdkÈbıt)NOP˜ °dONLNdnÈsıä) instr„ °dONLNdtÈäıË)uction as having the .°dONLNdâˆlt(ˇlefo‡°dONLNdãˆtØ)fect of synchr≠İdONLNdôˆØÛ);Konizing the pipeline and waiting for all prior bus operations to complete. °dONLNd‰l ( lMThe 68020 and 68030 have a very small pipeline, and bus operations normally fiu°dONLNd    2À‡( Ànish °dONLNd    8lπ(lsoon after they ar}`°dONLNd    Jπ
  6429. )Me issued. However¢Ä°dONLNd    [
  6430. ì)Q, the 68040 and the PowerPC arB`°dONLNd    yî∫)ä    chitectur˜ °dONLNd    Ç∫ˆ)&
  6431. e let memory .°dONLNd    èl) (&l)operations be queued and issued out of orR`°dONLNd    ∏ )/)¥derï°dONLNd    ª.)é). Because of this, the ï°dONLNd    “é)†)`NOPg`°dONLNd    ’†)∑) instrS`°dONLNd    €∑)‘)uction .°dONLNd    „*l6‹(3lmight be needed to ensurÚ@°dONLNd    ˚*‹6Ê)p:e that accesses to memory-mapped I/O devices occur in the .°dONLNd
  6432. 57lCv(@lprR`°dONLNd
  6433. 77vCï)
  6434. oper or$¿°dONLNd
  6435. >7ïC§)derg`°dONLNd
  6436. A7£Cf)*. The 68LC040 Emulator supports the featur9¿°dONLNd
  6437. k7fCé)√
  6438. es of the 9¿°dONLNd
  6439. u7éC†)(NOP  °dONLNd
  6440. x7†C∑) instr¯ °dONLNd
  6441. ~7∂C÷)uction. ˇˇÖx°dONLNd
  6442. áDlPı(MlAny application that includes ˇ˛êhdONLNd
  6443. •DıP)âNOPˇˇÖxh@°dONLNd
  6444. ®DP) instrŸ∏°dONLNd
  6445. ÆDP˜)0uctions should be compatible with all Macintosh .°dONLNd
  6446. fiQl]ù(Zl
  6447. computers.°dONLNd
  6448. Èclo+*,If an I/O device causes a bus timeout that r§Ä°dONLNd c+ox)øesults in a bus err ¿°dONLNd (cyoÎ)Nor exception, it might not °dONLNd Dpl|ˇ(yl be possible for the PowerPC micr¢‡°dONLNd dpˇ|)ìoprflİdONLNd gp|])ocessor—and therÄİdONLNd wp^|o)PeforÿİdONLNd {po|‚)e the 68LC040 Emulator—°dONLNd ì}lâÙ(Ülto determine the memory addr∂°dONLNd Ø}Ùâ’)à6ess that was accessed. If all locations within a 4 KB °dONLNd Êälñ(ìl'I/O page consistently time out, this pr‹‡°dONLNd
  6449. äñy)©oblem might not occurZ‡°dONLNd "äyñ„)d, but if accesses to some °dONLNd <ól£÷(†lUlocations within a page sometimes succeed, it is possible for this situation to occur@°dONLNd ëó÷£€(†÷. °dONLNd î§l∞s(≠lA∫†°dONLNd ï§s∞î) bus err†°dONLNd ù§ï∞è)";or exception is generated in that case, but the Data Fault ⁄†°dONLNd ÿ§é∞•)˘Addrû`°dONLNd ‹§¶∞ª)ess fin¿°dONLNd ‚§º∞◊)eld in °dONLNd ͱlΩ”(∫lSthe exception frame will not be accurate and the DF bit in the SSW will not be set.ˇ!,@ˇ ˇˇˇˇ@
  6450. ˇ·ˇ‚7^
  6451. 4H\, Palatino
  6452. &e.3+ä"CHAPTER à)>1,     Helvetica
  6453.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡ä
  6454. Mixed Mode
  6455. , (‡1-13
  6456. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6457. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿
  6458. ^Hx4^Hx
  6459. àHê4âHê äHä
  6460. ˇ·ˇ‚7^
  6461. ˇˇ©ˇÆ°dONLNduHà•(ÉH
  6462. Mixed ModeˇˇˇˇˇˇV˛(É1
  6463. °dONLNd ôä•ö(¢äAn ò†°dONLNdôö•)instruction set architecture-†°dONLNd+ô•^)z is the set of instr⁄İdONLNd?ô^•Ñ)J    uctions rEİdONLNdHôÖ•˜)'ecognized by a particular °dONLNdb¶ä≤ì(ØäprG °dONLNdd¶î≤˜)
  6464. ocessor or family of prY°dONLNd{¶˜≤&)c ocessors. TH@°dONLNdܶ'≤4)0he c@°dONLNdâ¶4≤ô)
  6465. Mixed Mode Manager @°dONLNdõ¶ö≤Ê)f is the part of the °dONLNdØ≥äø˝(ºäMacintosh system softwar3`°dONLNd«≥˛øB)te that manages @°dONLNd÷≥CøÜ)E
  6466. mode switchesч°dONLNd„≥Üøfl)C between code in difÉ`°dONLNd˜≥fløÎ)Yfere‡°dONLNd˙≥Îø˚) ent °dONLNd˛¿äÃû(…äinstró¿°dONLNd¿ûÑ)
  6467. uction set aré¿°dONLNd¿‘Ã˙)6    chitecturCİdONLNd¿˚à )'=es, switching the execution context between the CPU’s native °dONLNdVÕäŸN(÷ä(PowerPC context and the 68LC040 Emulator™¿°dONLNd~ÕNŸ»)ƒ. The 68LC040 Emulator is r
  6468. `°dONLNdôÕ…Ÿ    ){esponsible for °dONLNd®⁄äÊ$(„ä$handling all code in the 680x0 instr„ °dONLNdÃ⁄$Ê )ö7uction set. This includes existing 680x0 applications, °dONLNdÁäÛ≈(äGdevice drivers, system extensions, and even parts of the system softwar܇°dONLNdJÁ≈Û(≈e itself that have °dONLNd]ÙäΔ(˝änot yet been r’†°dONLNdkÙΔ[)<!ewritten to use the PowerPC instrfi¿°dONLNdåÙ[à)ï uction set.°dONLNdòä◊(äMode switches ar °dONLNd®ÿ„)Ne r*¿°dONLNd´„˙) equirB°dONLNd∞˙ü)%ed not only when the user switches fr∞°dONLNd’ü¸)•om an emulated to a °dONLNdÈä(äXnative application (or vice versa), but also when any application calls a system softwar-`°dONLNdA(e °dONLNdC ä,ç()ärE°dONLNdD é,J)-outine or any other code that exists in a dif±‡°dONLNdq J,V)ºferî`°dONLNdt V,z)     ent instr    Ä°dONLNd} {,˜)%uction set. For example, the °dONLNdö-ä9    (6äMemory Manager has been r€¿°dONLNd≥-    9l)eimplemented in the fi–İdONLNd…-m9Ï)drst version of system softwar(İdONLNdÊ-Ì9)Äe for °dONLNdÏ:äF¿(Cä
  6469. PowerPC prz °dONLNdˆ:¿F‡)6ocessorfi°dONLNd˝:‡F˚) ;-based Macintosh computers as native PowerPC code. When an °dONLNd8GäS(Päexisting 680x0 application ra°dONLNdTGSÌ)y1unning under the 68LC040 Emulator calls a Memory .°dONLNdÖTä`∏(]ä    Manager rR`°dONLNdéT∏`¯).outine such as ,
  6470. CourierR`°dONLNdùT¯`.)@    NewHandleR`°dONLNd¶T.`Ñ)6, a mode switch is r$¿°dONLNd∫TÑ`õ)Vequir˜ °dONLNdøTö`˘)ed to move out of the .°dONLNd’aämé(jäeI†°dONLNd÷aèmM))mulator and into the native PowerPC envir`°dONLNdˇaNm
  6471. )ø&onment. Then, once the Memory Manager °dONLNd%näzç(wärE°dONLNd&nézK)*outine completes, another mode switch is rÓ¿°dONLNdPnKzb)Ωequir°dONLNdUncz)ed to rh@°dONLNd\nz    )eturn to the 68LC040 Emulator °dONLNdz{äáÖ(Ñä9and to allow the 680x0 application to continue executing.°dONLNd¥çäô≤*    Similarlyõ@°dONLNdΩç±ô‚)'A, PowerPC applications cause mode switches whenever they invoke rE@°dONLNd˛ç„ô(ñ„outines °dONLNdö䶈(£äUthat exist only as 680x0 code. For example, if a PowerPC application calls a part of °dONLNd\ßä≥—*
  6472. the Macintosh T¯†°dONLNdkß–≥ˇ)FCoolbox or Operating System that has not been ported native, a mode °dONLNdØ¥ä¿∑(Ωä switch is rj¿°dONLNd∫¥∑¿Œ)-equirǰdONLNdø¥Œ¿    )
  6473. ed to move frqİdONLNdÃ¥    ¿_);om the native envirs°dONLNdfl¥_¿∂)Vonment to the enviro °dONLNdÚ¥∂¿ˆ)Wonment of the °dONLNd¡äÕ‹( ä68LC040 Emulatorˇ °dONLNd¡€Õ›)Q.°dONLNd”äfl˙(‹äPThe Mixed Mode Manager exists solely to manage these kinds of mode switches. It °dONLNdb‡äÏ<*
  6474. )makes it possible for the execution envirU°dONLNdã‡<ϰ)≤onment of PowerPC pr¿°dONLNdü‡¢Ï¬)focessort†°dONLNd¶‡¬Ï) -based Macintosh °dONLNd∑Ìä˘,(ˆä!computers to accommodate a mixtur≈@°dONLNdÿÌ,˘¸)¢/e of 680x0 applications, PowerPC applications, °dONLNd˙äË(ä680x0 system softwarˆÄ°dONLNd˙Ë`)^e, PowerPC system softwar¡°dONLNd4˙aª)ye, 680x0 executable r'İdONLNdI˙º‘)[esouro¿°dONLNdN˙‘)
  6475. ces, PowerPC °dONLNd[äø(ä executable rt@°dONLNdgø◊)5esourºÄ°dONLNdl◊)Eces, 680x0 device drivers, PowerPC device drivers, and so forth. The °dONLNd±ä (äO68LC040 Emulator and the Mixed Mode Manager together allow both 680x0 code and °dONLNd    !ä-Z*
  6476. +PowerPC code to execute on the PowerPC micr> °dONLNd    +![-j)—oprz¿°dONLNd    .!j-ä)ocessorN‡°dONLNd    5!ä-å) .°dONLNd    73ä?ˇ(<äQThe Mixed Mode Manager is designed to hide, as much as possible, the hybrid natur°dONLNd    à3?(<e of °dONLNd    ç@äLœ(Iäthe mixed envir`°dONLNd    ú@–Lh)Fonment supported on PowerPC pr߇°dONLNd    ∫@hLà)òocessor ¿°dONLNd    ¡@âL
  6477. )!-based Macintosh computers. °dONLNd    ›MäY¬(Vä OccasionallyÏ¿°dONLNd    ÈM¡YÏ)7    , however˘`°dONLNd    ÚMÏY´)+,, some executable code needs to interact dirm@°dONLNd
  6478. M¨Y    )¿ectly with the Mixed °dONLNd
  6479. 3ZäfÙ(cäMode Manager to ensuræ °dONLNd
  6480. HZÙfù)j'e that a mode switch occurs at the corrW°dONLNd
  6481. oZûf¸)™ect time. Because the °dONLNd
  6482. Ögäs    (päT68LC040 Emulator is designed to allow existing 680x0 applications and system softwarǰdONLNd
  6483. Ÿg    s(p    e °dONLNd
  6484. €täÄ˚(}äto execute without modific†°dONLNd
  6485. Ùt¸Äa)rcation, it’s always the r¢`°dONLNd
  6486. taÄ˝)e%esponsibility of native applications °dONLNd 3Åäç‡(ääand system softwarª°dONLNd EŇç)V@e to implement any changes necessary to interact with the Mixed °dONLNd ÖéäöÕ(óä Mode Manager§¿°dONLNd ëéÕöœ)C.°dONLNd ì†ä¨¡(©äDThis section describes the basic operation of the Mixed Mode Manager” °dONLNd ◊†¿¨(©¿. It shows you °dONLNd Ê≠äπù(∂ähow2‡°dONLNd È≠ùπ¬)
  6487. , if you’rá °dONLNd Û≠¬π)%Me writing a native application, you might need to modify your application to ˇ @ˇ ˇˇˇˇ@
  6488. ˇ·ˇ‚7^
  6489. 4*\¯, Palatino
  6490. &e.3+l"CHAPTER à)>1,     Helvetica
  6491.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6492. (‡*1-14
  6493.     )B
  6494. Mixed Mode4^*¿¯
  6495. °dONLNd\lh(el'make it compatible with the mixed envir·@°dONLNd'\h¢)≥onment of the system softwarŒ °dONLNdC\¢h‰)Ée for PowerPC °dONLNdQiluu(rlprG °dONLNdSivuñ)
  6496. ocessor´°dONLNdZiñu‰) L-based Macintosh computers. If you use fairly simple techniques for calling °dONLNd¶vlÇm(l:code external to your application and use only the standar´°dONLNd‡vmÇ≈(md types of callback r˜`°dONLNdıv≈ÇÍ)X    outines, °dONLNd˛Élè*(ål,the information in this section might be sufè°dONLNd*É*è0)æfiõ¿°dONLNd,É0èÓ).cient for your needs. If not, see the chapter °dONLNdZêlúŒ(ôlK“Mixed Mode Manager” in this book for complete information about the Mixed °dONLNd¶ùl©Ø*
  6497. Mode Manager§¿°dONLNd≤ùØ©±)C.
  6498. À*“¯4Ã*“¯ ÕlÕ¯
  6499. ˇ·ˇ‚7^
  6500. ˇˇ‹.ˇ◊°dONLNd¥ºlÀÿ(«lCross-Mode Callsˇˇˇˇˇˇ€r(«1
  6501. °dONLNdΔ“lfil(€l6The Mixed Mode Manager is intended to operate transpar…`°dONLNd¸“lfiÙ(€lently to most applications and °dONLNdfilÍÕ(Álother kinds of softwar@°dONLNd1fiŒÍE)be. This means, in particular†°dONLNdMfiEÍv)w , that most /†°dONLNdYfivÍ¿)1cross-mode calls›¿°dONLNdifi¿Í€)J (calls °dONLNdrÎl˜≠(Ùlto code in a difÁ °dONLNdÇÎ≠˜π)Afer…†°dONLNdÖÎπ˜›)     ent instr>¿°dONLNdéÎfi˜)%
  6502. uction set fr↰dONLNdõΘK)4
  6503. om the callerk °dONLNd®ÎL˜i):’s instr °dONLNd∞Îj˜£)uction set) arR°dONLNdæÎ£˜“)9 e detected °dONLNd…¯l˜(lUautomatically by the Mixed Mode Manager and handled without explicit intervention by °dONLNdlΩ*
  6504. the calling softwarL°dONLNd1æÂ)RAe. For instance, when a 680x0 application calls a Memory Manager °dONLNdrlo(lrE°dONLNdsp˘)outine—which, as you have alrë °dONLNdê˘fi)â3eady learned, exists as PowerPC code in the system °dONLNd√l*ç('lsoftwar‰¿°dONLNd ç*Ÿ)!e for PowerPC prdİdONLNd⁄⁄*˙)Mocessor»`°dONLNd·˙*ô)  -based Macintosh computers—the T¬Ä°dONLNdô*‘)ü rap Manager °dONLNd
  6505. +l73(4l-dispatches to the code pointed to by the appr|†°dONLNd:+37Û)«.opriate entry in the trap dispatch table. For °dONLNdh8lDo(AlrE°dONLNdi8pDØ)outines that arflİdONLNdx8ØD„)?He implemented as native code, the entry in the trap dispatch table is a °dONLNd¿DlP•(Mlpointer to a r¨‡°dONLNdŒD•P)9outine descriptorà°dONLNdflDP)K , a data strà@°dONLNdÎDP5).uctur °dONLNdD6P„)$e used by the Mixed Mode Manager to °dONLNdQl](Zl!encapsulate information about a r凰dONLNd5Q];)ï
  6506. outine. The fi¿°dONLNdCQ<]O);rst fiİdONLNdIQP]v)
  6507. eld in a r„°dONLNdSQv]€)&outine descriptor is an °dONLNdk^ljÕ(glexecutable 680x0 instro†°dONLNdÅ^Õjó)a*uction that invokes the Mixed Mode Manager¿°dONLNd´^ójÍ) . The Mixed Mode °dONLNdºklwÒ(tlZManager handles all the details of switching to the native mode, calling the native code, °dONLNdwlÉô*
  6508. and then r‡‡°dONLNd wôÉ/)- eturning to the 68LC040 Emulatorï@°dONLNd@w/Éÿ)ñ(. The calling application is completely °dONLNdhÑlêé(çlunawartİdONLNdnÑéê4)"$e that any mode switches have occurrưdONLNdíÑ4êA)¶ed.°dONLNdñïl°£(ûlCThe operation of the Mixed Mode Manager is also completely transpar‡°dONLNdŸï§°◊(û§ ent when a °dONLNd‰¢lÆ,(´l*PowerPC application calls a system softwar5¿°dONLNd¢-Æ8)¡e rD`°dONLNd¢8ÆÒ) +outine that exists as 680x0 code, although °dONLNd<Ølªæ(∏lthe exact details ar|¿°dONLNdPØæªı)Re slightly difò‡°dONLNd^Øıª)7fer{`°dONLNdaتŸ) 2ent. When a native application calls a system soft‡°dONLNdìØ⁄ª›)Ÿ-°dONLNdïºl»}(≈lwarú°dONLNdòº}»à)e r™†°dONLNdõºà»}) 6outine, the Operating System executes some glue code i#‡°dONLNd—º~»⁄)ˆn an import library oq‡°dONLNdʺ⁄»fl)\f °dONLNdË…l’∑(“lLexecutable code. The glue code inspects the trap dispatch table for the addrÈ@°dONLNd4…∑’‚(“∑ ess of the °dONLNd?÷l‚å(fllcalled rÎ`°dONLNdG÷å‚Á) outine. If the called r(‡°dONLNd^÷Ë‚t)\ outine exists only as 680x0 codeq`°dONLNd~÷t‚|)å, t≥¿°dONLNdÅ÷|‚Á)he Mixed Mode Manage©‡°dONLNdï÷Ë‚Ó)lr °dONLNdó„lÔp(ÏlsΩ°dONLNdò„pÔà)witchÄ`°dONLNdù„âÔí)esá°dONLNdü„íÔ◊)     modes and call°°dONLNdÆ„◊Ô€)Esfi°dONLNdØ„€Ô
  6509. )  the 680x0 r)°dONLNdª„Ôì)3outine. When the 680x0 code rm‡°dONLNdÿ„ìÔ„)Öeturns, the Mixed °dONLNdÍl¸n(˘l6Mode Manager switches back to the native PowerPC envir°dONLNd     o¸Ô(˘oonment and the execution of °dONLNd    <˝l    
  6510. (l"the PowerPC application continues.
  6511. *$¯4*#¯
  6512.     °dONLNd    _l *Note
  6513. ˇ·ˇ‚7^
  6514. °dONLNd    d!l-}*
  6515. See ”°dONLNd    h!}-˙)“The PowerPC Native EnvirϰdONLNd    Å!˙-x)}onment” beginning on page :`°dONLNd    õ!y-ã)1-19é@°dONLNd    ü!ã-ç) °dONLNd    °-l9@(6l0for information about the native execution envir‡°dONLNd    —-A9î)’onment, including °dONLNd    „9lE≥(Blimport libraries.,
  6516.  
  6517. Zapf Dingbats
  6518. †°dONLNd    ı<πDø)Mu
  6519. °dONLNd    ˜JlV˝(SlWhen writing PowerPC code, yo¨`°dONLNd
  6520. J˝VÊ)ë5u need to explicitly intervene in the mode-switching °dONLNd
  6521. IWlcu(`lprG °dONLNd
  6522. KWvc›)
  6523. Nocess only when you execute code (or have code executed on your behalf) whose °dONLNd
  6524. ôdlpÄ(mlinstró¿°dONLNd
  6525. ûdÄp∂)
  6526. uction set aré¿°dONLNd
  6527. ´d∂p‹)6    chitecturCİdONLNd
  6528. ¥d›p)'e might be difh°dONLNd
  6529. ¬dp&)=ferJİdONLNd
  6530. ≈d&p=) ent fr¿¿°dONLNd
  6531. Àd=pÛ)*om that of the calling code. For example, °dONLNd
  6532. ıql}È(zlwhenever you pass the addr—@°dONLNd qÈ}5)}ess of a callback rk@°dONLNd "q6}‘)M#outine to the Operating System or TÚ °dONLNd Eq”}ı)ùoolbox, °dONLNd M~lä⁄(álit’s possible that the instr
  6533. ‡°dONLNd i~€ä)o
  6534. uction set ar‡°dONLNd v~ä7)6    chitecturπ†°dONLNd ~7ä•)&e of the code whose addr °dONLNd ó~¶ä“)o
  6535. ess you ar*İdONLNd °~“äŸ),e °dONLNd £ãló¶(îlpassing is difî¿°dONLNd ±ã¶ó≤):ferw@°dONLNd ¥ã≤ó…) ent frÌİdONLNd ∫ã…ó˛) om the instr, °dONLNd Δãˇó5)6
  6536. uction set ar# °dONLNd ”ã5ó[)6    chitectur◊‡°dONLNd ‹ã[óÅ)&
  6537. e of the rç@°dONLNd ÊãÇó∏)' outine you’rÁ†°dONLNd Úã∏ó„)6
  6538. e passing °dONLNd ˝òl§†(°lJit to. In such cases, you need to explicitly signal the type of code you’r˝ °dONLNd Gò†§Î(°†e passing and its °dONLNd Y•l±Ù(ÆlUcalling conventions. Otherwise, the Mixed Mode Manager might not be called to make a °dONLNd Æ≤læo*
  6539. rE°dONLNd Ø≤pæá)equir\@°dONLNd ¥≤áæœ)ed mode switch.ˇ$å@ˇ ˇˇˇˇ@
  6540. ˇ·ˇ‚7^
  6541. 4H\, Palatino
  6542. &e.3+ä"CHAPTER à)>1,     Helvetica
  6543.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡ä
  6544. Mixed Mode
  6545. , (‡1-15
  6546. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6547. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿°dONLNd\ähê(eäTµ¿°dONLNd\èh·)o see this a bit moruİdONLNd\‚h)S    e clearly/¿°dONLNd\hb)$, suppose that you arõ °dONLNd3\bh)\'e writing a native PowerPC application .°dONLNdZiäu‰(räthat calls the ContrR`°dONLNdni‰u#)Z
  6548. ol Manager pr$¿°dONLNd{i#u@)?ocedur˜ °dONLNdÅi?uF)e ,
  6549. Courier˜ °dONLNdÉiFué) TrackControl˜ °dONLNdèiéuì)H. ˜ °dONLNdëiìu€) TrackControl˜ °dONLNdùi€u )H  accepts as .°dONLNd©väÇ(äone of its parameters the addrÈİdONLNd«vÇ])Ñess of an action prp‡°dONLNd⁄v^Ç|)Pocedur °dONLNd‡v}Ǭ)e that is called r8†°dONLNdÚv¬Ç
  6550. )Eepeatedly while .°dONLNdÉäè\(åä/the user holds down the mouse button in a contrR`°dONLNd1É\èj)“ol. R`°dONLNd5Éjè≤) TrackControlR`°dONLNdAÉ≤èÙ)H has no way of .°dONLNdPêäú√(ôä determining ∫†°dONLNd\ê√úı)9 in advance A†°dONLNdgêˆú)3    the instr∂¿°dONLNdpêúP)$
  6551. uction set ar≠¿°dONLNd}êPúv)6    chitecturbİdONLNdÜêwúÂ)'e of the code whose addrø°dONLNdûêÂúˇ)ness yoá@°dONLNd§êú)u °dONLNd¶ùä©∂(¶ä will pass iÙ†°dONLNd±ù∂©—),t. MorÊ¿°dONLNd∑ù—©È)eoverÀ°dONLNdºùÈ©Ä)!, you have no way of determining …°dONLNd›ùÅ©≥)ò in advance P°dONLNdËù¥©ÿ)3    the instr≈ °dONLNdÒùÿ©)$ uction set .°dONLNd¸™ä∂î(≥äarR`°dONLNd˛™î∂Ω)
  6552.     chitectur$¿°dONLNd™Ω∂·))    e of the $¿°dONLNd™·∂))$ TrackControl$¿°dONLNd™)∂5)H pr˜ °dONLNd™4∂Q) ocedur…İdONLNd%™Q∂ß)e, so you cannot kno…İdONLNd9™ß∂π)Vw w…İdONLNd<™π∂)hether your action ˇˇΔÚ°dONLNdO∑ä√î(¿äprR`°dONLNdQ∑î√±)
  6553. ocedur$¿°dONLNdW∑±√‹)
  6554. e and the ˇˇT÷yñ°dONLNda∑‹√$)+ TrackControlˇˇΔÚyñ°dONLNdm∑$√/)H pr˰dONLNdp∑0√M) ocedurÂH°dONLNdv∑L√\)e ar~ö°dONLNdz∑]√í) e of the sam”p°dONLNdÜ∑í√≠)5e instrÜb°dONLNdç∑Æ√„)
  6555. uction set arʶ°dONLNdö∑„√ )5    chitecturπ°dONLNd£∑ √))e.π°dONLNd•∑√) .°dONLNd¶ƒä–£(ÕäAs a rI@°dONLNd¨ƒ§–D)&esult, you must explicitly indicate th
  6556. İdONLNd“ƒE–`)°e instrn‡°dONLNdŸƒ`–ñ)
  6557. uction set are‡°dONLNdʃñ–º)6    chitectur†°dONLNdÔƒΩ–…)'e oŸ¿°dONLNdÚƒ…–) f any callback °dONLNd—ä›ç(⁄ärE°dONLNd—é›Â)outines whose addre`°dONLNd—›Ö)W$esses you pass to the system softwar†°dONLNd8—Ü›ç)°e.
  6558. H    4H     ä
  6559. ˇ·ˇ‚7^
  6560. ˇˇ‹.ˇ◊°dONLNd;Ûä(˛äRoutine Descriptorsˇˇˇˇˇˇ€r(˛1
  6561. °dONLNdP    äê(äY@İdONLNdQ    êÃ)ou indicate th °dONLNd_    ÕË)=e instrl`°dONLNdf    Ë)
  6562. uction set arc`°dONLNds    D)6    chitectur °dONLNd|    EQ)'e o◊@°dONLNd    Qê) f a particular r‚°dONLNdè    êƒ)? outine by crp`°dONLNdõ    ≈Í)5    eating a ≈@°dONLNd§    Í
  6563. )%routine °dONLNd¨ä"∏(ä
  6564. descriptorñ °dONLNd∂∏"·).  for that rÌ@°dONLNd¡·")) outine. Her†°dONLNdÃ"@)3 e is the str∫°dONLNdÿ@"W),uctur?‡°dONLNd›X"v)e of a r‡°dONLNdÂv"¡)outine descriptor7 °dONLNdˆ¡"√)K..°dONLNd¯*H6‰(3Hstruct RoutineDescriptor {°dONLNd7ZCÆ+
  6565. unsigned short°dONLNd)7ÿC8)~goMixedModeTrap;°dONLNd?7DC¬)l/*mixed-mode A-trap*/°dONLNdVDZPr(MZchar°dONLNdaDÿP)~version;°dONLNdoDDP¯)l/*routine descriptor version*/°dONLNdèQZ]ú(ZZ RDFlagsType°dONLNd°Qÿ]b)~routineDescriptorFlags;°dONLNd«^DjÏ+l
  6566. /*routine descriptor flags*/°dONLNdÂkZw®(tZ
  6567. unsigned long°dONLNd˘kÿw)~
  6568. reserved1;°dONLNd    kDwå)l /*reserved*/°dONLNdxZÑ®(ÅZ
  6569. unsigned char°dONLNd+xÿÑ)~
  6570. reserved2;°dONLNd;xDÑå)l /*reserved*/°dONLNdIÖZë®(éZ
  6571. unsigned char°dONLNd]Öÿë&)~
  6572. selectorInfo;°dONLNdpÖDë‘)l/*selector information*/°dONLNdäíZûx(õZshort°dONLNdñíÿû&)~
  6573. routineCount;°dONLNd©íDû˛)l/*index of last RR in this RD*/°dONLNd üZ´®(®Z
  6574. RoutineRecord°dONLNdfiüÿ´D)~routineRecords[1];°dONLNdÛüD´Ê)l/*the individual routines*/°dONLNd¨H∏T(µH};°dONLNdπH≈z*
  6575. 3typedef struct RoutineDescriptor RoutineDescriptor;ˇˇΩï.°dONLNdFÕäŸë+BAG@°dONLNdGÕíŸÂ)s you can see, the fi?ȰdONLNd\ÕÊŸ˘)Trst fi¸>°dONLNdbÕ˘Ÿ)
  6576. eld of a r°dONLNdlÕ Ÿµ)'#outine descriptor is an executable G¶°dONLNdèÕµŸ–)ï680x0 ≠€°dONLNdïÕ–Ÿ‰)instr≈õ°dONLNdöÕ‰Ÿ) uction that °dONLNd¶⁄äÊ"(„äinvokes the Mixed Mode ManagerŸ°dONLNdƒ⁄!Ê)ó5. When the Mixed Mode Manager is called, it inspects .°dONLNd˘ÁäÛ†(äthe rR`°dONLNd˛Á†Û”)
  6577. emaining fiR`°dONLNd    Á”Û    )3
  6578. elds of the r$¿°dONLNdÁ    Û≠)6$outine descriptor—in particular the $¿°dONLNd:Á≠Û)§routineRecords$¿°dONLNdHÁÛ)T °dONLNdIÙäë(˝äfi°dONLNdKÙë`)+eld—to determine whether a mode switch is rR`°dONLNdvÙ`w)œequir$¿°dONLNd{Ùwõ)ed. The $¿°dONLNdÉÙõÔ)$routineRecords$¿°dONLNdëÙÔ¯)T fi$¿°dONLNdîÙ¯)    eld is .°dONLNdõä
  6579. º(
  6580. ä an array of  °dONLNdßΩ
  6581. )3routine records,≥¿°dONLNd∑
  6582. ø)G+ each element of which describes a single rİdONLNd‚¿
  6583. ˝)ºoutine. In the °dONLNdÒä(äsimplest case, the array of r‡°dONLNd%)youtine rã@°dONLNd%7)"ecorˇ†°dONLNd7»)!ds contains a single element. HerçİdONLNd;…ı)í e is the str7‡°dONLNdGˆ
  6584. )-ucturΩ¿°dONLNdL
  6585. )e °dONLNdNä'†($äof a r`°dONLNdT°'√)outine rï¿°dONLNd\√'’)"ecor
  6586.  °dONLNd`÷'‹)d%‡°dONLNda‹'fi)..°dONLNdc/H;Ã(8Hstruct RoutineRecord {°dONLNd{<ZH¢+
  6587. ProcInfoType°dONLNdé<ÿH)~    procInfo;°dONLNdù<DHŒ)l/*calling conventions*/°dONLNd∂IZU®(RZ
  6588. unsigned char°dONLNd IÿU)~
  6589. reserved1;°dONLNd⁄IDUå)l /*reserved*/°dONLNdËVZbÑ(_ZISAType°dONLNdˆVÿb)~ISA;°dONLNd    VDb)l /*instruction set architecture*/°dONLNd    "cZo∫(lZRoutineFlagsType°dONLNd    9cÿo&)~
  6590. routineFlags;°dONLNd    LcDo‡)l/*flags for each routine*/°dONLNd    hpZ|Ñ(yZProcPtr°dONLNd    vpÿ|2)~procDescriptor;°dONLNd    ãpD|Ê)l/*the thing we're calling*/°dONLNd    ®}Zâ®(ÜZ
  6591. unsigned long°dONLNd    º}ÿâ)~
  6592. reserved2;°dONLNd    Ã}Dâå)l /*reserved*/°dONLNd    ⁄äZñ®(ìZ
  6593. unsigned long°dONLNd    Óäÿñ)~    selector;°dONLNd    ˝äDñ
  6594. )l!/*selector for dispatched calls*/°dONLNd
  6595. óH£T(†H};°dONLNd
  6596. "§H∞J*
  6597. +typedef struct RoutineRecord RoutineRecord;°dONLNd
  6598. N±HΩ¬*
  6599. ?typedef RoutineRecord *RoutineRecordPtr, **RoutineRecordHandle;ˇH@ˇ ˇˇˇˇ@
  6600. ˇ·ˇ‚7^
  6601. 4*\¯, Palatino
  6602. &e.3+l"CHAPTER à)>1,     Helvetica
  6603.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6604. (‡*1-16
  6605.     )B
  6606. Mixed Mode4^*¿¯
  6607. .°dONLNd\lhr(elT°dONLNd\rhŒ)he most important fi°dONLNd\Œh˙)\ elds in a rR`°dONLNd \˙h),outine r$¿°dONLNd(\h.)"ecor˜ °dONLNd,\-h?)d ar…İdONLNd0\?hX)e the ,
  6608. Courier…İdONLNd6\Xhà)procInfo…İdONLNd>\àhë)0 fi…İdONLNdA\ëh«)     eld and the …İdONLNdM\«hŸ)6ISA<‡°dONLNdP\Ÿh‚) fi<‡°dONLNdS\‚hˆ)    eld. °dONLNdXiluÄ(rlThe °dONLNd\iÄuí)ISAÛ`°dONLNd_iëuö) fiÛ`°dONLNdbiöuˆ)    eld encodes the instrfl`°dONLNdwiˆu,)\
  6609. uction set ar±¿°dONLNdÑi,uU)6    chitecturÑ °dONLNdçiUu}))
  6610. e of the rVİdONLNdói}uÔ)(outine being described. It .°dONLNd≤vlÇ@(l/must always contain one of these two constants:.°dONLNd‚çlôê*enum {°dONLNdÍõ~߯+kM68kISA°dONLNd¯õÍß8)l
  6611. = (ISAType)0,°dONLNd õVßÊ)l/*MC680x0 architecture*/°dONLNd%©~µ¿(≤~ kPowerPCISA°dONLNd6©Íµ2)l = (ISAType)1°dONLNdH©VµÊ)l/*PowerPC architecture*/°dONLNda∑l√x(¿l};°dONLNddœl€Ä*The °dONLNdhœÄ€∞)procInfo°dONLNdpœ∞€π)0 fi°dONLNdsœπ€)    eld contains the rR`°dONLNdÖœ€,)N    outine’s .R`°dONLNdéœ,€ñ)%procedure information,.hİdONLNd§œñ€‹)j which encodes .°dONLNd¥‹lËÄ(Âlthe r¢`°dONLNdπ‹ÄËfi)Noutine’s calling conventions and information about the number and location of °dONLNdÈlıÄ(Últhe r¢`°dONLNd
  6612. ÈÄı)$outine’s parameters. For the standar= °dONLNd1È ı)†d kinds of callback prS°dONLNdGÈıù)_ocedurÍ@°dONLNdMÈùı’)
  6613. es and other °dONLNd[ˆl(ˇl&types of “detached” code, the universa{@°dONLNdňH)´
  6614. l interface fŒ °dONLNdéˆHç)1iles include defiñİdONLNdüˆéƒ)F
  6615. nitions of prè`°dONLNd¨ˆƒ‚)6ocedur&†°dONLNd≤ˆ„Í)e .°dONLNd¥l#( l'information. For example, the C languag°dONLNd€#Y)∑
  6616. e interface fPİdONLNdËYh)6ile PİdONLNdÏh§)
  6617. Controls.hPİdONLNdˆ§Õ)<
  6618.  includes .°dONLNdlè(lthis defi+@°dONLNd
  6619. ê¨)$nition:.°dONLNd'*3N(0*enum {°dONLNd5<AD+,uppControlActionProcInfo = kPascalStackBased°dONLNdICNO»+? | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(ControlHandle)))°dONLNdãQN]ò*7 | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short)))°dONLNd√_*k6(h*};.°dONLNdΔwlÉã+BThis prfi†°dONLNdÕwãÉ©)oceduru‡°dONLNd”w™É)e information specifii°dONLNdËwÉ~)[cation indicates that a contr÷†°dONLNdw~É∞)y ol action pr›Ä°dONLNdw∞ÉŒ)2ocedurt¿°dONLNdwœÉ÷)e °dONLNdÑlê∞(çlfollows standar’ °dONLNd(Ñ∞ê‹)DCd Pascal calling conventions and takes two stack-based parameters, °dONLNdlëlùä(öla contræÄ°dONLNdsëäù6)(ol handle and a part code; the action prdž°dONLNdõë7ùU)≠ocedur‡°dONLNd°ëVùa)e r(İdONLNd§ëaùë) eturns no rHİdONLNdØëëù¶)0esultŰdONLNd¥ë¶ù”) . Similarlyú@°dONLNdøë“ùÁ),, the .°dONLNdΔûl™s(ßlfi°dONLNd»ûs™~)le °dONLNdÀû~™∫)
  6620. Controls.h°dONLNd’û∫™Œ)< defi°dONLNd⁄ûŒ™˙)
  6621. nes the prR`°dONLNd‰û˙™),ocedur$¿°dONLNdÍû™É)e information for a contr˜ °dONLNdûÇ™ü)kol defi˜ °dONLNd
  6622. ûü™‚)nition function .°dONLNd´l∑ö(¥l as follows:.°dONLNd'¬*ŒN(À*enum {°dONLNd/–<‹2+)uppControlDefProcInfo = kPascalStackBased°dONLNd[fiNÍ8+' | RESULT_SIZE(SIZE_CODE(sizeof(long)))°dONLNdÖÏN¯ò*7 | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))°dONLNdø˙N»*? | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ControlHandle)))°dONLNdNò*7 | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short)))°dONLNd;N"í*6 | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long)))°dONLNdr$*00(-*}°dONLNds$006);ˇV@ˇ ˇˇˇˇ@
  6623. ˇ·ˇ‚7^
  6624. 4H\, Palatino
  6625. &e.3+ä"CHAPTER à)>1,     Helvetica
  6626.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡ä
  6627. Mixed Mode
  6628. , (‡1-17
  6629. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6630. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿°dONLNd\ähê(eäY@İdONLNd\êh∏)    ou can cr4°dONLNd
  6631. \∏h◊)(eate a rŒ†°dONLNd\◊h)=outine descriptor by calling the Mixed Mode Manager function ,
  6632. Courier.°dONLNdOiäu(räNewRoutineDescriptor¬†°dONLNdciu<)w, as shown in ¬†°dONLNdqi<ul); Listing 1-1¬†°dONLNd|iluo)0.
  6633. òH†4ôH†"ôH_
  6634. ˇ·ˇ‚7^
  6635.     .°dONLNd~éäô∂(ñä Listing 1-1°dONLNdäéŒô?)DCreating a routine descriptor
  6636. .°dONLNd©®ä¥‰(±äUniversalProcPt°dONLNd∏®‰¥)Zr myA°dONLNdΩ®¥>)
  6637. ctionProc;°dONLNd»∂ä¬fi(øämyActionProc =°dONLNd÷∂fi¬‘)T) NewRoutineDescriptor((ProcPtr)MyAction, °dONLNd ƒb–˛+ÑuppControlActionProcInfo, °dONLNd3“bfiº*GetCurrentISA()°dONLNdB“ºfi»)Z);°dONLNdEÍäˆú(ÛäHerR`°dONLNdHÍúˆ¶)e, R`°dONLNdKͶˆ÷)
  6638. MyActionR`°dONLNdSÍ÷ˆ
  6639. )0  is the addr$¿°dONLNd_Í
  6640. ˆP)4ess of your contr˜ °dONLNdpÍOˆÇ)E ol action pr…İdONLNd|ÍLjü)3ocedurõ‡°dONLNdÇÍüˆπ)e and õ‡°dONLNdàÍπˆ)
  6641. GetCurrentISA@°dONLNdï͈    )N .°dONLNdó˜äÊ(äis a C language macrn`°dONLNd´˜Ê)\o that rˇ°dONLNd≥˜F)eturns the currİdONLNd¬˜Gk)B    ent instrdONLNdÀ˜k°)$
  6642. uction set arㆰdONLNdÿ˜°«)6    chitectur@`°dONLNd·˜»Ó)'e. When .°dONLNdÈä(
  6643. äexecuted in the PowerPC envirR`°dONLNdJ)â onment, the R`°dONLNdJ¬)7NewRoutineDescriptorR`°dONLNd&¬Ú)x  function cr$¿°dONLNd2Ú )0eates .°dONLNd9äï(äa r≈°dONLNd<ïi) 0outine descriptor in your application heap and r_‡°dONLNdljÆ)’eturns the addrM‡°dONLNd{Ƈ)D
  6644. ess of that rˆ°dONLNdà‡˛)2outine .°dONLNdèä*∏('ä
  6645. descriptor¬†°dONLNdô∑*S)-". When executed in the 680x0 envirï°dONLNdªS*ä)ú onment, the ï°dONLNd«ä*)7NewRoutineDescriptorï°dONLNd€*)x .°dONLNd‹+ä7÷(4äfunction simply rΔ@°dONLNdÌ+÷7)L eturns its fiN‡°dONLNd˙+7C)2
  6646. rst parameterİdONLNd+C7è);. Notice that the r∂°dONLNd+è7™)Lesult r3İdONLNd!+´7›) eturned by .°dONLNd-8äDú(Aäthe °dONLNd18úD)NewRoutineDescriptor°dONLNdE8Dh)x function is of type °dONLNdZ8hD»)TUniversalProcPtr¬†°dONLNdj8«DÃ)_. d@°dONLNdl8ÃD‘)A◊†°dONLNdm8”D’) .◊†°dONLNdn8’D)
  6647. universal °dONLNdxEäQ€(Näprocedure pointerk‡°dONLNdâE‹Q˘)R is defiÉ`°dONLNdëE˘Qm)ned to be either a 680x0 prµ°dONLNd¨EmQã)tocedurL@°dONLNd≤EåQ˛)e pointer or a pointer to a °dONLNdŒRä^ç([ärE°dONLNdœRé^Ÿ)outine descriptord@°dONLNd‡RŸ^=)K, essentially as follows:.°dONLNd˙iHuÍ(rH#if !USESROUTINEDESCRIPTORS°dONLNdwHÉí*7typedef ProcPtr UniversalProcPtr, *UniversalProcHandle;°dONLNdNÖHëf*#else°dONLNdTìHü⁄*Ctypedef RoutineDescriptor *UniversalProcPtr, **UniversalProcHandle;°dONLNdò°H≠l*#endif.°dONLNdüπä≈ +B!Once you’ve executed the code in g@°dONLNd¿π!≈O)ó Listing 1-1İdONLNdÀπP≈_)/ (pr¢Ä°dONLNdœπ_≈)(obably at application launch time), you .°dONLNd˜Δä“»(œäcan later call °dONLNdΔ»“)> TrackControl°dONLNdΔ“=)H  like this:°dONLNd›äÈD(ÊäTrackControl(myControl, myPoint°dONLNd=›DÈû)∫, myActionProc)°dONLNdL›ûȧ)Z;°dONLNdNıäΔ(˛äFIf your application is a PowerPC application, the value passed in the °dONLNdîıΔ(˛Δ gActionProc°dONLNdüı
  6648. )B .°dONLNd†ä˙( äparameter is not the addrôİdONLNdπ˙S)pess of your action prM‡°dONLNdŒTr)Zocedur °dONLNd‘r )e itself, but the addrG`°dONLNdÍÀˆ)Y ess of the .°dONLNdıäé(ärR`°dONLNdˆé‰)outine descriptor cr$¿°dONLNd
  6649. ‰ )V    eated in $¿°dONLNd ;)' Listing 1-1$¿°dONLNd;Ø)0. When a 680x0 version of $¿°dONLNd8ؘ)t TrackControl$¿°dONLNdD˜˘)H .°dONLNdEä((%äexecutes your action pr#†°dONLNd\Ò()gocedur∫‡°dONLNdb(†)#e, it begins by executing the instr–¿°dONLNdÖ†()ëuction contained in the °dONLNdù)ä5ê(2äfiå¿°dONLNdü)ê5£)rst fiãİdONLNd•)§5”) eld of the rE°dONLNd±)‘5)0outine descriptord@°dONLNd¬)5N)K . That instr0İdONLNdŒ)O5)0%uction invokes the Mixed Mode ManagerÚİdONLNdÛ)5    )µ, ˇˇï@.°dONLNdı6äBı(?äwhich inspects the instr+¿°dONLNd
  6650. 6ˆB+)l
  6651. uction set ar(†°dONLNd6+BT)5    chitectur˚°dONLNd#6SBó)(e of the action r"`°dONLNd46òB)Eoutine (contained in the ˇ˛ø¿w`°dONLNdM6B)kISAˇˇï@Í¿°dONLNdP6B) ˇ @ˇ ˇˇˇˇ@
  6652. ˇ·ˇ‚7^
  6653. 4*\¯, Palatino
  6654. &e.3+l"CHAPTER à)>1,     Helvetica
  6655.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6656. (‡*1-18
  6657.     )B
  6658. Mixed Mode4^*¿¯
  6659. °dONLNd\lhr(elfiå¿°dONLNd\rh°) eld of the rF@°dONLNd\¢hƒ)0outine rÕ†°dONLNd\ƒh÷)"ecorB°dONLNd\◊h-)d contained in the rRİdONLNd.\-h≤)V!outine descriptor). If that instr£@°dONLNdO\≤hfl)Ö uction set .°dONLNdZiluv(rlarR`°dONLNd\ivuü)
  6660.     chitectur$¿°dONLNdeiüu¥))e dif˜ °dONLNdji≥uŒ)fers fr…İdONLNdqiŒu) om the instrµÄ°dONLNd}iu:)6
  6661. uction set arᇰdONLNdäi:uc)6    chitecturZ@°dONLNdìicuá))    e of the ,
  6662. CourierZ@°dONLNdúiáuœ)$ TrackControlZ@°dONLNd®iœu’)H r,†°dONLNd™i’uˆ)outine, .°dONLNd≤vlÇπ(lHthe Mixed Mode Manager causes a mode switch. Otherwise, if the two instrGİdONLNd˙v∫ÇÁ(∫ uction set °dONLNdÉlèt(ålarE°dONLNdÉuèõ)        chitectur˘¿°dONLNdÉõèØ)&es arE`°dONLNdÉ∞èŒ)?e identical, the Mixed Mode Manager simply executes the action °dONLNdTêlúu(ôlprG °dONLNdVêvúî)
  6663. ocedurfi`°dONLNd\êîú)e without switching modes.°dONLNdw¢lÆ˛(´l"In short, you solve the general prrİdONLNdô¢˛Æa)íoblem of indicating a r=`°dONLNd∞¢bÆÅ)doutine’G°dONLNd∑¢ÅÆõ)s instr¿°dONLNdæ¢úÆ“)
  6664. uction set ar¿°dONLNdÀ¢“Æfl)6chi<¿°dONLNdŒ¢flÆ‚)
  6665. -°dONLNd–ØlªÖ(∏ltectur
  6666. ¿°dONLNd÷ØÜªí)e b‹°dONLNdŸØíª¢) y cr `°dONLNd›Ø£ªƒ)eating r∫@°dONLNdÂØƒªx)!(outine descriptors and by using the addr憰dONLNd
  6667. Øxª∫)¥esses of those rß °dONLNdØ∫ªÿ)Boutine °dONLNd$ºl»∂(≈ldescriptors wher@°dONLNd4º∑»*)Ke you would have used prm@°dONLNdLº*»H)socedurİdONLNdRºI»∏)e pointers in the 680x0 prB°dONLNdlº∏»Ó)o
  6668. ogramming °dONLNdv…l’É(“lenvirn†°dONLNd{…É’©)onment. 9@°dONLNdÉ…™’∞)'Y˘¿°dONLNdÑ…Ø’*)ou have to do this, howeverFİdONLNdü…*’“){%, only when you need to pass the addr‚@°dONLNdƒ…“’Ù)®    ess of a °dONLNdÕ÷l‚o(fllrE°dONLNdŒ÷p‚R)4outine to some external piece of code (such as the TÊ@°dONLNd÷Q‚ı)·#oolbox or Operating System or some °dONLNd%„lÔ(Ïl)other application) that might be in a dif;°dONLNdN„Ô&)ÆferİdONLNdQ„&Ô0) en∏İdONLNdS„0ÔI)
  6669. t instr톰dONLNdZ„JÔÄ)
  6670. uction set ar↰dONLNdg„ÄÔ¶)6    chitectur>`°dONLNdp„ßÔ±)'e f€‡°dONLNds„±Ô¥)
  6671. r†‡°dONLNdt„µÔ…)om t¨¿°dONLNdx„…Ôfl)hat o∂°dONLNd}„flÔı)f the °dONLNdÉl¸o(˘lrE°dONLNdÑp¸•) outine. Ther °dONLNdê¶¸∂)6e ar¿°dONLNdî∂¸Ñ).e quite a number of cases in which you pass pr=¿°dONLNd¬Ѹ¢)Œocedur’°dONLNd»¢¸Î)e pointers to the °dONLNd⁄˝l    Æ(lsystem softwarM‡°dONLNdË˝Ø    ˘)Ce and which thery`°dONLNd¯˝˘    
  6672. )Jefor—`°dONLNd¸˝
  6673.     )e r‡°dONLNdˇ˝    ,) equir˜@°dONLNd˝,    Ú).e you to use the techniques illustrated above °dONLNd2
  6674. lî(l    for Contr!@°dONLNd;
  6675. ïÒ))ol Manager action pr: °dONLNdO
  6676. Ò)\ocedur—`°dONLNdU
  6677. x)es. Some of the typical r´@°dONLNdn
  6678. x⁄)ioutines you need to cr£‡°dONLNdÑ
  6679. ⁄Ó)beate °dONLNdâl#o( lrE°dONLNdäp#Ú)outine descriptors for include,
  6680.  
  6681. Zapf Dingbats
  6682. °dONLNd©-l4q(3ln
  6683. °dONLNd´*x6Å) gr‘ °dONLNd≠*Å6“)    ow-zone functions
  6684. °dONLNdø?lFq(Eln
  6685. °dONLNd¡<xHé) contr>İdONLNdΔ<èH¡) ol action prE`°dONLNd“<¡Hfl)2ocedur‹†°dONLNdÿ<flHË)es
  6686. °dONLNd€QlXq(Wln
  6687. °dONLNd›NxZò) event fiZ°dONLNdÂNôZ”)!lter functions
  6688. °dONLNdÙcljq(iln
  6689. °dONLNdˆ`xlã) VBLë@°dONLNd˘`ãl£) tasks
  6690. °dONLNdul|q({ln
  6691. °dONLNdrx~~) T °dONLNdr~~—)ime Manager tasks
  6692. °dONLNdáléq(çln
  6693. °dONLNdÑxêí) trap p9@°dONLNdÑìêÆ)atches
  6694. °dONLNd$ôl†q(üln
  6695. °dONLNd&ñx¢∞) completion r§Ä°dONLNd2ñ∞¢–)8outines°dONLNd:ßl≥Æ(∞lThe interface fi醰dONLNdJ߯≥K)B"les for the PowerPC system softwaró‡°dONLNdlßK≥Ö)ù
  6696. e have been r‘°dONLNdyßÖ≥—):evised to change .°dONLNdã¥l¿Ä(Ωlall rR`°dONLNdê¥Ä¿í)efer$¿°dONLNdî¥í¿˛)ences to parameters or fi$¿°dONLNd≠¥˛¿5)l
  6697. elds of type $¿°dONLNd∫¥5¿_)7ProcPtr$¿°dONLNd¡¥_¿p)* to r˜ °dONLNdΔ¥o¿Å)efer…İdONLNd ¥Å¿º)ences of type °dONLNdÿ¡lÕÃ( lUniversalProcPtr¬†°dONLNdË¡ÀÕ7)_. In addition, these new .¬†°dONLNd¡7Õí)luniversal interface fG¿°dONLNd¡íÕ¢)[iles._¿°dONLNd¡¢Õ—)  contain pr2 °dONLNd%¡—ÕÓ)/ocedurİdONLNd+¡ÓÕı)e .°dONLNd-Œl⁄¥(◊linformation defi≠İdONLNd=Œ¥⁄#)Hnitions for all the standar±Ä°dONLNdXŒ#⁄|)od kinds of callback r≈@°dONLNdmŒ|⁄¥)Y outines. MorÙ`°dONLNdyŒ¥⁄Ã)8eoverÿ†°dONLNd~ŒÃ⁄·), the °dONLNdÑ€lÁΔ(‰luniversal interface fi†°dONLNdö€«ÁÊ)[les defi|¿°dONLNd¢€ÊÁ )ne new rŒ¿°dONLNd™€ ÁÃ)&,outines that you can use in place of the mor¿°dONLNd÷€ÕÁ˜)¡
  6698. e general .°dONLNd‡ËlÙ¨(Òlcode shown in °dONLNdÓ˨Ù)@Listing 1-1 on page °dONLNdËÙ )V1-°dONLNdË Ù)    17°dONLNdËÙõ)
  6699. . For example, the interface fi°dONLNd%ËõÙ¶)Üle °dONLNd(˶ق)
  6700. Controls.h°dONLNd2˂ى)< °dONLNd3ıl∑(˛lcontains the defi°dONLNdDı∑˛)Knition shown in °dONLNdTı˛.)G Listing 1-2°dONLNd_ı.Q)0     for the °dONLNdhıQ…)#NewControlActionProc°dONLNd|ı…Ú)x
  6701.  function.
  6702. $*,¯4%*,¯"%*_
  6703. ˇ·ˇ‚7^
  6704.     .°dONLNdál%ò("l Listing 1-2.°dONLNdì∞%–)DThe defi°dONLNdõ–%) nition of the °dONLNd©%e)1NewControlActionProc°dONLNdΩe%É)d routine
  6705. °dONLNd«4l@b(=l)typedef UniversalProcPtr ControlActionUPP°dONLNd4b@h)ˆ;°dONLNdÚBlNr(Kl#°dONLNdÛBrN\)'define NewControlActionProc(userRoutine°dONLNdB\Nn)Í) \°dONLNdP~\Ñ(Y~(°dONLNd PÑ\Ê);ControlActionUPP) NewRoutineDescriptor((ProcPtr)userRoutine°dONLNd[PÊ\¯(YÊ, \°dONLNd`^~jÑ(g~u°dONLNda^Ñjz))ppControlActionProcInfo, GetCurrentISA()).°dONLNdãvlÇ®(lBecause this r·Ä°dONLNdôv®Ç·)<
  6706. outine is defi;`°dONLNdßv‚Çc):ned in the universal header fi—¿°dONLNd≈vcÇù)Åles, you can r” °dONLNd”vùÇÓ):eplace the code in °dONLNdÊÉlèö(ål Listing 1-1 @°dONLNdÒÉõè+)/  with the simpler code shown in ¢°dONLNd    É+èY)ê Listing 1-3B@°dONLNd    ÉZè\)/.ˇ!f@ˇ ˇˇˇˇ@
  6707. ˇ·ˇ‚7^
  6708. 4H\, Palatino
  6709. &e.3+ä"CHAPTER à)>1,     Helvetica
  6710.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡äThe PowerPC Native Environment
  6711. , (‡1-19
  6712. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6713. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿
  6714. gHn4gHn"hH_
  6715. ˇ·ˇ‚7^
  6716.     °dONLNd\äg∂(dä Listing 1-3°dONLNd \Œg∑)D<Creating a routine descriptor for a control action procedure,
  6717. Courier
  6718. .°dONLNdJvälj(äControlActionUP°dONLNdYv‰Ç>)ZP myActionProc;°dONLNdiÑäêfi(çämyActionProc =°dONLNdwÑfiê‘)T) NewControlActionProc((ProcPtr)MyAction);.°dONLNd°úä®.(•ä%In general, you should use the specifiÚ¿°dONLNd«ú.®8)§c r®°dONLNd ú9®l) outines defiôİdONLNd÷úm®ç)4ned thr©°dONLNd›úç®) oughout the universal header °dONLNd˙©äµê(≤äfiå¿°dONLNd¸©êµ°)les i‰ °dONLNd©°µh)/nstead of the general technique illustrated in î¿°dONLNd0©iµó)» Listing 1-15°dONLNd;©òµö)/.
  6719. √H—4ƒH—
  6720. °dONLNd=ƒäé( äIMPORTİdONLNdCƒ©Ãπ)ANT
  6721. ˇ·ˇ‚7^
  6722. °dONLNdGœä€ê(ÿäY@İdONLNdHœê€Ë)ou do not need to cr≈ °dONLNd\œË€)Xeate rfl¿°dONLNdbœ€e)outine descriptors for rz`°dONLNdzœf€•)foutines that ar‡°dONLNd✶€…)@    e called °dONLNdí€äÁ(‰äonly by your application. Mor: °dONLNdØ€Á?)Ö e generallyÆ@°dONLNd∫€>ÁΔ)/!, if you know for certain that a °dONLNd€ÁäÛç(ärE°dONLNd‹ÁéÛG)*outine is always called by code of the samx@°dONLNdÁGÛb)πe instrŸ†°dONLNd
  6723. ÁbÛò)
  6724. uction set ar–†°dONLNdÁòÛæ)6    chitecturÖ`°dONLNd#ÁøÛΔ)'e,œ°dONLNd%ÁΔÛ») °dONLNd&Û䎨(¸äyou can Õ`°dONLNd.ÛØˇ„)% and should I†°dONLNd9Û‰ˇ3)5continue to use pr⁄`°dONLNdKÛ3ˇQ)Oocedurq†°dONLNdQÛRˇÆ)e pointers instead of °dONLNdgˇä ø(ä universal pr‡°dONLNdsˇ¿ fi)6ocedurß °dONLNdyˇfi A)e pointers. If, however¿°dONLNdêˇA I)c, t_ °dONLNdìˇI k)he addrv†°dONLNdöˇk ª)"ess of one of your °dONLNd≠ ä…(äapplication’s rÄ °dONLNdº …O)?outines might be passed to a Tˇ °dONLNd⁄ NÃ)Öoolbox or Operating System °dONLNdıä#ç( ärE°dONLNdˆé# )outine, you should make surÿ °dONLNd #;)~ e to use a r,`°dONLNd<#á)0outine descriptorK†°dONLNd.á#â)K.,
  6725.  
  6726. Zapf Dingbats
  6727. À†°dONLNd0é"ï)s
  6728. GHN4HHN IäI
  6729. ˇ·ˇ‚7^
  6730. ˇˇ‹.ˇ◊°dONLNd28äG(CäMemory Considerationsˇˇˇˇˇˇ€r(C1
  6731. °dONLNdINäZ(Wä!The technique described in the pre‡°dONLNdjNZç)îevious section for using rn@°dONLNdÑNçZ)o!outine descriptors is by far the °dONLNd•[äg;(dä(simplest and easiest to implement: any rQ@°dONLNdÕ[<g    )≤.outine descriptors needed by an application ar¥†°dONLNd˚[    g)Õe °dONLNd˝hätfl(qäOallocated in the application heap at application launch time. The descriptors rÂİdONLNdLhflt¸(qflemain °dONLNdRuäÅ®(~äCallocated until the application terminates, at which time the entirx¿°dONLNdïu®Å(~®e application heap is °dONLNd´Çäéç(ãärE°dONLNd¨Çéé‡)eclaimed by the PrK¿°dONLNdæLJé!)R
  6732. ocess Manager…¿°dONLNdÀÇ é%)@. k`°dONLNdÕÇ%é>)As a r4†°dONLNd”Ç?é))esult, you don’t have to dispose of any r İdONLNd¸Çé)±outine °dONLNdèäõΔ(òädescriptors cråİdONLNdèΔõ)<eated in this wayª °dONLNd"èõ)J.°dONLNd$°ä≠É(™ä8If, in some case, you know that you won’t be needing a r‘¿°dONLNd\°É≠ˆ)˘outine descriptor any mor `°dONLNdu°˜≠˛)te °dONLNdwÆä∫¯(∑äVduring the execution of your application, you can explicitly dispose of it by calling .°dONLNdŒªä«ú*
  6733. the °dONLNd“ªú«,)DisposeRoutineDescriptor°dONLNdͪ,«    )ê3 function. This is most useful when you allocate a .°dONLNd»ä‘ç(—ärE°dONLNd»é‘B)(outine descriptor for temporary use onlyZ°dONLNdF»A‘    )≥-. For example, you might call some code that °dONLNds’ä·◊(fiäuses a callback prŸ‡°dONLNdÖ’◊·ı)Mocedurq °dONLNdã’ˆ·9)e only very infr=`°dONLNdõ’:·`)Dequently‡`°dONLNd£’_·ˆ)%%. In that case you can allocate the rİdONLNd»’˜·)òoutine °dONLNdœ‚äÓP(Îä-descriptor when the code is called and then r≤¿°dONLNd¸‚PÓ⁄)Δ elease it when the code is done.°dONLNdÙä®(˝äFinally
  6734. °dONLNd$Ù®⁄) , you can cr膰dONLNd0Ù⁄˘)2eate a r*@°dONLNd8Ù˙) Coutine descriptor on the stack if you intend to use it only within .°dONLNd{ä
  6735. π(
  6736. ä a single prR`°dONLNdÜπ
  6737. ÷)/ocedur$¿°dONLNdå÷
  6738. ä)%e. The Mixed Mode Manager interface fi$¿°dONLNd≤ä
  6739. ï)¥le $¿°dONLNdµï
  6740. ◊) MixedMode.h$¿°dONLNd¿◊
  6741. Î)B defi$¿°dONLNd≈Î
  6742. )
  6743. nes the C °dONLNdœäÀ(ä
  6744. language macrR`°dONLNd‹À“)Ao R`°dONLNdfi“b)BUILD_ROUTINE_DESCRIPTORR`°dONLNdˆbı)ê" that you can use for this purposeR`°dONLNdı)ì, as .°dONLNdä'
  6745. ($ä!well as for initializing static r∞@°dONLNd>
  6746. 'd)Äoutine descriptors. FY°dONLNdSe'£)[or details, see Δ‡°dONLNdc£')>“Using Static Routine °dONLNdy(ä4Í(1äDescriptors” on page öİdONLNdé(Í4¸)`2-22Ó`°dONLNdí(¸4„)2 in the chapter “Mixed Mode Manager” in this book.
  6747. ;HV4<HV
  6748. fHn4gHn hHh
  6749. ˇ·ˇ‚7^
  6750. ˇˇ©ˇÆ°dONLNdΔSHf (aHThe PowerPC Native EnvirêİdONLNdfiS fC)ƒonmentˇˇˇˇˇˇV˛(a1
  6751. °dONLNdÊwäÉë(ÄäA∫†°dONLNdÁwëÉì) :†°dONLNdËwîɢ)run-time environmentïİdONLNd¸w˘É)e@ is a set of conventions that determine how code is loaded into °dONLNd    <ÑäêØ(çämemoryÕ °dONLNd    BÑÆê…)$, wherÑ °dONLNd    HÑ ê)e data is stor  °dONLNd    VÑê`)8ed and how it is addrH °dONLNd    kÑ`ê˛)^$essed, and how functions call other °dONLNd    èëäù (öäfunctions and system softwarÜ@°dONLNd    ´ë ù)Çe rdONLNd    ÆëùS) outines. The r.†°dONLNd    ºëTùê)=
  6752. un-time envirí°dONLNd    …ëêùÛ)<onment available on a °dONLNd    flûä™¶(ßäspecifiÓ °dONLNd    Êû¶™˚)Jc Macintosh computer is determined jointly by the Macintosh system softwarÈ`°dONLNd
  6753. 0û˚™(ß˚e °dONLNd
  6754. 2´ä∑Û(¥äN(which manages the loading and scheduling of executable code) and your softwarÚ†°dONLNd
  6755. Ä´Û∑˙(¥Ûe ˇP@ˇ ˇˇˇˇ@
  6756. ˇ·ˇ‚7^
  6757. 4*\¯, Palatino
  6758. &e.3+l"CHAPTER à)>1,     Helvetica
  6759.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6760. (‡*1-20
  6761.     )BThe PowerPC Native Environment4^*¿¯
  6762. °dONLNd\lhº(elGdevelopment system (which generates code to conform to the documented rÇ¿°dONLNdG\ºh·(eºun-time °dONLNdOiluß(rl
  6763. conventions).°dONLNd]{láÉ*The rö`°dONLNdb{Éáø)
  6764. un-time envir˝¿°dONLNdo{øáy)<(onment for native PowerPC code is signifi<İdONLNdò{zá£)ª
  6765. cantly dif‚`°dONLNd¢{£áØ))ferƒ‡°dONLNd•{ØáΔ) ent fr; °dONLNd´{«áË)om the °dONLNd≤àlîo(ëlr^†°dONLNd≥àpî¨)
  6766. un-time envir¬°dONLNd¿à¨îc)<'onment for 680x0 code with which you ar`@°dONLNdÁàdîu)∏e prq°dONLNdÎàuî°)
  6767. obably alrö†°dONLNdıà°î€),
  6768. eady familiar•`°dONLNdà€î‡):. °dONLNdïl°ƒ(ûlIn general, however @°dONLNd    )X, the PowerPC rz@°dONLNd'ï    °E)E
  6769. un-time envir›†°dONLNd4ïE°”)<onment is both simpler and mor'‡°dONLNdRï‘°€)èe °dONLNdT¢lÆ›(´lpowerful than the 680x0 r°dONLNdm¢fiÆ)r
  6770. un-time envir{`°dONLNdz¢Æg)<onment. This incr˙ °dONLNdã¢gÆ„)Meased simplicity and power °dONLNdߨlªt(∏larE°dONLNd©Øuªy)    e†°dONLNd™ØzªÙ) due primarily to the use of Π°dONLNd«ØÙª)z    fragmentsw¿°dONLNd–ت\)) as the standarC†°dONLNdflØ]ªè)@ d way of or…`°dONLNdÍØèªÈ)2ganizing executable °dONLNd˛ºl»›(≈lcode and data in memoryù@°dONLNdº‹»K)p. In the native PowerPC r® °dONLNd.ºK»á)o
  6771. un-time envir İdONLNd;ºà»—)=onment, all discr ‡°dONLNdLº—»‡)Iete °dONLNdP…l’{(“l=collections of executable code—including applications, code r‰‡°dONLNdç…{’ì(“{esour- °dONLNdí…î’Ì)ces, extensions, and °dONLNdß÷l‚÷(flleven the system softwar6 °dONLNdæ÷◊‚)k e itself—ar≤`°dONLNd…÷‚)/e or6İdONLNdÕ÷‚Ì),ganized as fragments when loaded into memoryF‡°dONLNd˘÷Ï‚Ò)’. °dONLNd˚„lÔÜ(ÏlAccorb@°dONLNd„ÜÔ¢)dingly"†°dONLNd„¢Ô), all executable code shar¡ °dONLNd „ÔE)m es the benefiû °dONLNd-„FÔâ)7ts that derive fr<¿°dONLNd>„äÔ¥)D    om the orû °dONLNdG„¥Ô)*ganization of °dONLNdUl¸»(˘lfragments, including,
  6772.  
  6773. Zapf Dingbats
  6774. °dONLNdjl
  6775. q*n
  6776. °dONLNdlx) $a uniform set of calling conventions
  6777. °dONLNdëlq(ln
  6778. °dONLNdìx!√) the ability to stora`°dONLNd¶√!ß)K3e code called by many applications or other softwarn°dONLNdŸß!±)‰e i†°dONLNd‹±!π)
  6779. n °dONLNdfl!x-Ω(*ximport libraries
  6780. °dONLNd6l=q(<ln
  6781. °dONLNdÚ3x?°)     a simplifiŸ°dONLNd¸3°?Ó))ed means of addr∞@°dONLNd 3Ó?=)Messing global data
  6782. °dONLNdHlOq(Nln
  6783. °dONLNd!ExQ) ?the ability to execute special initialization and termination ro‡°dONLNd`EQÕ(Noutines when the °dONLNdqQx]((Zx'fragment is loaded into and unloaded fr:İdONLNdòQ)]_)±    om memory°dONLNd¢bln‚(klThis section describes the r7‡°dONLNdæb„n)w
  6784. un-time envirõ@°dONLNdÀbnŸ)<)onment for applications and other softwarZ¿°dONLNdÙb⁄n·)ªe °dONLNdˆol{›(xlexecuting on PowerPC prİdONLNd
  6785. o›{˝)qocessor„`°dONLNdo˝{⁄) 2-based Macintosh computers. It describes in detail
  6786. °dONLNdGÖlåq(ãln
  6787. °dONLNdIÇxéì) the str;`°dONLNdPÇîé´)uctur¡@°dONLNdUÇ´éÍ)e of fragments
  6788. °dONLNddólûq(ùln
  6789. °dONLNdfîx†Æ) how to addr“@°dONLNdqîÆ†)6ess global code and data
  6790. °dONLNdä©l∞q(Øln
  6791. °dONLNdå¶x≤ã) subr¿°dONLNdê¶å≤Ÿ)outine invocation
  6792. °dONLNd¢ªl¬q(¡ln
  6793. °dONLNd§∏xƒ€) PowerPC stack frames
  6794. °dONLNdπÕl‘q(”ln
  6795. °dONLNdª x÷Ω) import libraries
  6796. °dONLNdÃfllÊq(Âln
  6797. °dONLNdŒ‹xËë) the or‡°dONLNd‘‹íËÛ)ganization of memory
  6798. ı*¯4ˆ*¯
  6799. °dONLNdȈl˛ã(¸lIMPORTİdONLNdÔˆã˛õ)ANT
  6800. ˇ·ˇ‚7^
  6801. °dONLNdÛl
  6802. “(
  6803. lKeep in mind that the rL‡°dONLNd
  6804. ”
  6805. )g
  6806. un-time envir∞@°dONLNd
  6807. D)<
  6808. onment defi†°dONLNd"E
  6809. ì)6ned by the use of °dONLNd4
  6810. lÍ(lfragments might in the futur£‡°dONLNdP
  6811. Íü)~(e be available on 680x0-based Macintosh °dONLNdxl%%("l'computers (and not solely on PowerPC pr‡°dONLNdü%%E)πocessorI¿°dONLNd¶F%ñ)!-based Macintosh °dONLNd∑%l1œ(.lcomputers). The new r^‡°dONLNdÃ%–1 )d
  6812. un-time envir¬@°dONLNdŸ% 1ì)<onment based on fragments is °dONLNdˆ1l=√(:lintended to be as pr%İdONLNd
  6813. 1ƒ=T)X ocessor independent as possible.
  6814. =°dONLNd+4Y<`)ïs
  6815. a*h¯4b*h¯ clc¯
  6816. ˇ·ˇ‚7^
  6817. ˇˇ‹.ˇ◊°dONLNd-Rla≠(]l    Fragmentsˇˇˇˇˇˇ€r(]1
  6818. °dONLNd8hltã(qlIn the rk‡°dONLNd@håt») 
  6819. un-time envirœ@°dONLNdMh»t¸)< onment intr†°dONLNdXh˝tB)5oduced in the fiİdONLNdhhBt—)E!rst version of the system softwarœ‡°dONLNdâh—tÁ)èe for °dONLNdèulÅ¢(~l
  6820. PowerPC prz °dONLNdôu¢Ŭ)6ocessorfi°dONLNd†u¬ÅÎ) B-based Macintosh computers, the basic unit of executable code and °dONLNd‚Çléœ(ãlits associated data is a [ °dONLNd˚Ç–é¸)d    fragment.Ñ¿°dONLNdǸé˛), ¶`°dONLNdDzéP)All fragments shar’¿°dONLNdÇPé )Re a number of fundamental °dONLNd1èlõu(òlprG °dONLNd3èvõ¸)
  6821. !operties, such as their basic str¢¿°dONLNdTè¸õ)Üuctur(†°dONLNdYèõ⁄)-e and their method of accessing code or data °dONLNdÜúl®P(•l3contained in themselves or in other fragments. TherÀ¿°dONLNdπúP®`)‰e ar⁄`°dONLNdΩú`®ê)
  6822. e, however∞†°dONLNd«úê®°)0, dif€°dONLNdÃú°®≠)ferΩİdONLNdœú≠®∑) enXİdONLNd—ú∏®Ω) t ‡°dONLNd”ú殜)usesT‡°dONLNd◊úœ®‡) for °dONLNd‹©lµo(≤lf”‡°dONLNd›©oµÕ)ragments, just as ther†°dONLNdÛ©Œµfi)_e ar@°dONLNd˜©fiµÒ)e difÉ@°dONLNd¸©Òµ˝)fere¿°dONLNdˇ©˝µ) en¿°dONLNd    ©µ7) t uses for eìİdONLNd    
  6823. ©7µ…)/!xecutable code in the 680x0 envirr†°dONLNd    .©…µÔ)íonment. ˇ'D@ˇ ˇˇˇˇ@
  6824. ˇ·ˇ‚7^
  6825. 4H\, Palatino
  6826. &e.3+ä"CHAPTER à)>1,     Helvetica
  6827.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡äThe PowerPC Native Environment
  6828. , (‡1-21
  6829. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6830. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿°dONLNd\äh(eäFragments can be loosely difé°dONLNd\h)~ferpİdONLNd\h[) entiated into thr®`°dONLNd0\[hÓ)G!ee categories, based on how they °dONLNdRiäuí(räarE°dONLNdTiìu±)    e used.,
  6831.  
  6832. Zapf Dingbats
  6833. °dONLNd\äÜè(Öän
  6834. °dONLNd^|ñà¶) An ò†°dONLNda|¶àŸ) application:¿°dONLNdl|⁄à±)42 is a fragment that can be launched by the user frE`°dONLNdû|±à)◊om the Finder (which °dONLNd≥àñîΔ(ëñ calls the Pr™°dONLNdøàΔî√)0:ocess Manager to do the actual launching), typically to prÿ`°dONLNd˘à√î)˝ocess documents °dONLNd    îñ†1(ùñ%or other collections of information. Û°dONLNd.î1†)õ2An application almost always has a user interface °dONLNd`†ñ¨‡(©ñand uses standarÈ`°dONLNdp†‡¨-)Jd event-driven pr•`°dONLNdņ.¨∏)Nogramming techniques to contr2 °dONLNdû†π¨˝)ãol its execution.
  6835. °dONLNd∞µäºè(ªän
  6836. °dONLNd≤≤ñæù) AG@°dONLNd≥≤ûæ¶)n ò†°dONLNdµ≤¶æ )import lÜ`°dONLNdΩ≤ÀæÊ)%ibraryL`°dONLNd√≤Áæ )B is a fragment that contains code and data accessed by some other °dONLNdæñ Ö(«ñ3fragment or fragments. The Macintosh system softwar"@°dONLNd8æÜ À)e, for instance, iT†°dONLNdJæÀ ˇ)E s an import °dONLNdV ñ÷π(”ñ    library t °dONLNd_ ∫÷—)$=hat contains the code (and data) implementing the Macintosh T°dONLNdú —÷(”— oolbox and °dONLNdß÷ñ‚Ï(flñOperating System rV`°dONLNdπ÷Ï‚M)Voutines. When you lin°dONLNdŒ÷M‚´)ak an import library w›@°dONLNd„÷¨‚)_ith your application, °dONLNd˘‚ñÓü(Îñthì¿°dONLNd˚‚üÓ‰)    e import libraryì °dONLNd ‚ÂÓ)FG’s code is not copied into your application. Instead, your application °dONLNdRÓñ˙(˜ñcontains symbols known as n@°dONLNdlÓ˙5)|imports¯`°dONLNdsÓ5˙O)# that rİdONLNdzÓP˙’)efer to some code or data in th‘ °dONLNdôÓ’˙˝)Ö    e import °dONLNd¢˙ñ≥(ñlibrary1°dONLNd©˙≥´)7. When your application is launched, the system softwarã °dONLNd‡˙´Ò)¯e automatically °dONLNdñô(ñrE°dONLNdÒöÉ)4esolves any imports your application contains and cr§¿°dONLNd%ÉÒ)Èeates a connection to the °dONLNd?ñ™(ñapprI@°dONLNdC´≈)opriatfi@°dONLNdI≈
  6837. )e import librarieİdONLNdZ)Is.
  6838. °dONLNd]'ä.è(-än
  6839. °dONLNd_$ñ0¶) An ò†°dONLNdb$¶0—)    extensionw@°dONLNdk$“0 ),I is a fragment that extends the capabilities of some other fragment. For °dONLNd¥0ñ<‡(9ñGexample, your application might use external code modules like menu defiˇÄ°dONLNd¸0‡<¸(9‡nition °dONLNd<ñH€(Eñfunctions, contrâ¿°dONLNd<€Hˆ)Eol defiY¿°dONLNd<˜Hù)&nition functions, or data-conversion fi˝ °dONLNdA<ùHŒ)¶ lters. Unlik†°dONLNdM<œH˜)2    e import °dONLNdVHñTº(Qñ
  6840. libraries,,†°dONLNd`HΩTı)'H extensions must be explicitly connected to your application during its °dONLNd®Tñ`⁄(]ñexecution. Ther•†°dONLNd∑T⁄`Í)De ar¥@°dONLNdªTÍ`˜)=e two types of extensions: application extensions and system °dONLNd¯`ñl…(iñ extensions. öİdONLNd`…lŸ)3An ≥ °dONLNd`Ÿl;)application extension≥‡°dONLNd`;lË)b* is an extension that is used by a single °dONLNdFlñxÃ(uñ
  6841. application. ÿİdONLNdSlÃx”)6A °dONLNdTl‘x÷) ì °dONLNdUl÷x$)system extensionò‡°dONLNdel$x)N6 is an extension that is used by the Operating System °dONLNdõxñÑ‹(ÅñNor by multiple applications; it is usually installed at system startup time fr °dONLNdÈx‹ÑÙ(Å‹om a .°dONLNdÓÑñêö(çñrR`°dONLNdÔÑöê±)esour$¿°dONLNdÙѱêfi) ce of type ,
  6842. Courier$¿°dONLNdˇÑfiê)-'INIT'$¿°dONLNdÑê)$, $¿°dONLNdÑê+)'DRVR'$¿°dONLNd
  6843. Ñ+ê;)$, or $¿°dONLNdÑ;ê_)'CDEV'$¿°dONLNdÑ_êb)$..°dONLNdïä°@(ûä)Import libraries and system extensions ar‡°dONLNdCïA°ñ)∑e sometimes called Â`°dONLNdVïñ°fl)Ushared libraries,ø†°dONLNdg)J     because °dONLNdp¢äÆE(´ä*the code and data they contain can be shar˘¿°dONLNdö¢EÆ)ª-ed by multiple clients. Import libraries and °dONLNd«ØäªÂ(∏äsystem extensions arß°dONLNd€ØÂª)[e also called ±‡°dONLNdÈØª°)8dynamically linked libraries,!°dONLNdØ¢ª)Ö because the link between °dONLNd ºä»e(≈ä3your application and the external code or data it r´Ä°dONLNdSºe»u)€eferW†°dONLNdWºv»Û)ences occurs dynamically at °dONLNds…ä’ı(“äapplication launch time.°dONLNdå€äÁ2*'The physical storage for a fragment is E°dONLNd≥€3Á:)©a ≈°dONLNdµ€:Á>)c5@°dONLNd∂€?Áe)ontainer˙†°dONLNdæ€dÁf)%,z†°dONLNdø€gÁ˜)! which can be any kind of object °dONLNd‡ËäÙÄ(Òä6accessible by the Operating System. The system softwar’@°dONLNd    ËÄÙ≈)ˆe import library∏‡°dONLNd    &Ë≈Ù
  6844. )E, for example, is °dONLNd    8ıäö(˛ästor9‡°dONLNd    <ıõL)%ed in the ROM of a Macintosh computerh†°dONLNd    aıLf)±. Othe!‡°dONLNd    gıg∫)r import libraries a* °dONLNd    {ı∫Ω)SrÔ °dONLNd    |ıΩ˛)e typically stor˛¿°dONLNd    åı˛ )Aed .°dONLNd    èäú( äin fi°dONLNd    îúÕ) les of type °dONLNd    †ÕÒ)1'shlb'°dONLNd    ¶Ò)$>. The fragment containing an application’s executable code is °dONLNd    ‰äõ(ästorR`°dONLNd    Ëõm)/ed in the application’s data fork, which is a fiR`°dONLNd
  6845. mö)“ le of type R`°dONLNd
  6846. #öæ)-'APPL'R`°dONLNd
  6847. )æ√)$. Ù°dONLNd
  6848. +¬)An extension can .°dONLNd
  6849. =ä(ß(%äbe stor  °dONLNd
  6850. D®(‰)ed in a data fi °dONLNd
  6851. S‰()< le or in a rưdONLNd
  6852. _((),esourˆ@°dONLNd
  6853. d((^) ce in some fiΔ¿°dONLNd
  6854. q_(t)7le’s r¬°dONLNd
  6855. wt(å)esour
  6856. @°dONLNd
  6857. |ç(≠)ce fork.
  6858. 6HD47HD
  6859. °dONLNd
  6860. Ö7ä?©(=äIMPORTİdONLNd
  6861. ã7©?π)ANT
  6862. ˇ·ˇ‚7^
  6863. °dONLNd
  6864. èBäN≈(KäLIn general, it’s best to put an application extension into the data fork of °dONLNd
  6865. €NäZ©* some fi\‡°dONLNd
  6866. ‚N™Z∂) Ble (possibly even the application’s data fork itself), not into a °dONLNd $Zäfç(cärE°dONLNd %Zéf¶)esourç@°dONLNd *Z¶f»)ce. TherG‡°dONLNd 2Z…f)#
  6867. e is, however√İdONLNd ?Zfã)9!, one notable exception to this rÜ`°dONLNd `Zåf¬)ä ule, namely °dONLNd lfär¡(oäFwhen the extension is PowerPC code that is intended to operate in the °dONLNd ≤rä~m* 1same way as a 680x0 stand-alone code module. See  °dONLNd „rn~•)‰ “Executable °dONLNd Ô~ää©(áäResourv@°dONLNd ı~©ä„)
  6868. ces” on page ‡°dONLNd ~‰äˆ);1-34b¿°dONLNd ~ˆä) for mor-@°dONLNd ~äX)$e information.
  6869. ≤@°dONLNd Å]âd)Cs
  6870. °dONLNd èäõ°(òäBeforÛ¿°dONLNd $è°õ˙)Ne the code or data in a fragment can be used, it must be loaded into memory frR °dONLNd rè˚õ (ò˚om °dONLNd uú䮇(•äits container and prãİdONLNd âú‡®Û)Vepar@°dONLNd çúÙ®_)ed for execution. This pr¡ °dONLNd ¶ú_® )k'ocess is usually handled automatically °dONLNd Õ©äµß(≤äby the t °dONLNd ‘©®µ)Code Fragment ManagerÆ °dONLNd È©µ)p,. °dONLNd Í©µÂ)- the part of the Macintosh Operating System r%@°dONLNd
  6871. ©Âµ)  esponsible ˇ‹@ˇ ˇˇˇˇ@
  6872. ˇ·ˇ‚7^
  6873. 4*\¯, Palatino
  6874. &e.3+l"CHAPTER à)>1,     Helvetica
  6875.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6876. (‡*1-22
  6877.     )BThe PowerPC Native Environment4^*¿¯
  6878. °dONLNd\lhº(elfor loading and pr2¿°dONLNd\Ωh@)Qeparing fragments. Fragment ¿@°dONLNd.\@hu)É preparation†°dONLNd9\vhŒ)6 consists mainly in r.İdONLNdN\Œhı)X    esolving °dONLNdWiluÄ(rl;any imports in the fragment; the Code Fragment Manager sear¿°dONLNdíiÅuı(rÅches for another fragment °dONLNd¨vlÇæ(l(an import library).‡°dONLNdøvøÇÒ)SD that exports the symbols imported by the fragment being loaded. Of °dONLNdÉlèñ(ål
  6879. course, thy‡°dONLNd
  6880. Éóè‹)+e import libraryy@°dONLNdÉ›è™)F. containing the code or data imported by the fi≥`°dONLNdLÉ™è‚)Õ
  6881. rst fragment °dONLNdYêlú(ôl(might itself contain imported symbols fr™°dONLNdÅêúV)≤
  6882. om yet a thirœ¿°dONLNdéêVúŒ)8d fragment. If so, the Code °dONLNd™ùl©(¶l%Fragment Manager needs to load and prw`°dONLNdœù©1)≤epar °dONLNd”ù2©Y)
  6883. e the thirp@°dONLNd›ùY©◊)'d fragment, then the second °dONLNd˘™l∂≥(≥lfragment, and fić°dONLNd    ™≥∂‚)G nally the fiú@°dONLNd™‚∂)/
  6884. rst fragment.
  6885. ƒ*“¯4≈*“¯
  6886. °dONLNd#≈lÕã(ÀlIMPORTİdONLNd)≈ãÕõ)ANT
  6887. ˇ·ˇ‚7^
  6888. °dONLNd-–l‹ì(ŸlAIn general, the Code Fragment Manager is called by the Operating °dONLNdn‹lËù* System in r͆°dONLNdy‹ùËŸ)1esponse to a r=¿°dONLNdá‹⁄Ë,)=equest to load som(†°dONLNdô‹-Ë8)Se sØ@°dONLNdú‹8ËP) pecifi‡`°dONLNd¢‹PËî)c fragment (for °dONLNd≤ËlÙT(Òl3example, when the user launches an application). ThÚ‡°dONLNdÂËTÙ¢)Ëe import libraries °dONLNd¯Ùlr(˝luá °dONLNd˘ÙrŸ)sed by that fragment arb`°dONLNdÙŸ=)ge loaded automatically˝ °dONLNd&Ù<°)c, if the Code Fragment °dONLNd=l ≠(    l
  6889. Manager can fi``°dONLNdKÆ ß)B4nd them. The Code Fragment Manager usually operates °dONLNd lƒ(lcompletely transpar˚‡°dONLNdí ƒ⁄)Xently5°dONLNdó ⁄ù)+, just like the 680x0-based Segment Managerfi °dONLNd¬ ú°)¬. °dONLNdƒl$r(!lY@İdONLNd≈r$`)3ou need to use the Code Fragment Manager only if yo•‡°dONLNd¯`$†)Óur application °dONLNd$l0©(-l
  6890. uses custom a °dONLNd$™0ú)>8pplication extensions. See the beginning of the chapter °dONLNdL0l<L(9l1“Code Fragment Manager” in this book for details.,
  6891.  
  6892. Zapf Dingbats
  6893. ,@°dONLNd~3R;Y)Ês
  6894. °dONLNdÄAlMr(JlTµ¿°dONLNdÅAqM)o load fragments into memory fr‹@°dONLNd†AMq)êom the containers they ar· °dONLNdπAqMâ)pe stor‰†°dONLNdøAâMŒ)ed in, the Code °dONLNdœNlZÈ(WlFragment Manager uses the ¸`°dONLNdÈNÈZP)}Code Fragment LoaderR °dONLNd˝NQZS)h,“ °dONLNd˛NSZ‰)$ a set of low-level services called °dONLNd"[lg(dl#mainly by the Code Fragment Manager °dONLNdE[g®)Æ. The Code Fragment Loader is r≈†°dONLNdd[®gË)éesponsible for °dONLNdshlto(ql6knowing about container formats, such as PEF and XCOFFq`°dONLNd©hotÚ(qo. Unless you need to design a °dONLNd«ulÅÆ(~lEnew container format, you do not need to use the Code Fragment Loader]İdONLNd uÆÅ»(~Æ. Curr3@°dONLNdu»Åfi)entlyl`°dONLNdu›Å‚), °dONLNdÇléí(ãlhowever冰dONLNd ÇíéÂ)&, the application pr˰dONLNd4ÇÂéÙ)S;ogramming interface to the Code Fragment Loader is private.°dONLNdpîl†(ùl&The following sections describe the orgİdONLNdñ)ß)ganization and operation of fragments in °dONLNd¿°l≠u(™lgr‘ °dONLNd¬°u≠®)    
  6895. eater detail.
  6896. À*“¯4Ã*“¯ ÕlÕ¯
  6897. ˇ·ˇ‚7^
  6898. °dONLNd–ælÃ˛(»lThe Structure of Fragmentsˇˇˇˇˇˇ‘@(»Ò1
  6899. °dONLNdÏ“lfi[(€l2Once a fragment has been loaded into memory and prVİdONLNd“[fin)ÔeparÁ@°dONLNd"“nfiı)ed for execution, the code and °dONLNdAfllÎ∫(Ëldata it contains ar> °dONLNdTflªÎÙ)OJe available to itself and to any fragments that import parts of that code °dONLNdûÏl¯`(ıl7and data. The code and data of a particular fragment ar§†°dONLNd’Ï`¯√)Ùe loaded into separate F@°dONLNdÏσ¯Ë)dsectionsȆ°dONLNdÙÏ˯Í)$ °dONLNdˆ˘l{(lor r- °dONLNd˙˘|À)egions of memory†°dONLNd
  6900. ˘Àfl)O@. In general, the code and data sections of a loaded fragment ardONLNdJ˘flÊ(fle °dONLNdMl/(l)not contiguous with one another in memoryº`°dONLNdv.‡)¬+. Instead, the data section of a fragment i≠¿°dONLNd°·Á)≥s °dONLNd£ln(llh`°dONLNd§oÚ)Yoaded either into your application’s heap or into the system heap. The code section of a °dONLNd˝ l, ()l#fragment is usually loaded elsewher¶ °dONLNd       ,C)† e in memoryv†°dONLNd    + C,\)7. (See İdONLNd    2 ],·)“File Mapping” beginning on °dONLNd    N-l9É(6lpage Z‡°dONLNd    S-Ñ9ñ)1-53Æ¿°dONLNd    W-ñ9¡)G for details on the location of the code sections of a fragment.) Regar †°dONLNd    û-¬9Ê(6¬    dless of °dONLNd    ß:lFÇ(Clwher7°dONLNd    ´:ÉF—)e it is loaded, ther“ °dONLNd    ø:—FÀ)N9e is no segmentation within a code section of a fragment.°dONLNd    ˘LlX8(Ul,Because every fragment contains both code an√@°dONLNd
  6901. %L8XF)Ãd dz¿°dONLNd
  6902. (LGXË)'ata sections, it follows that any code °dONLNd
  6903. OYle˜(blexecuting in a fragment-based r[¿°dONLNd
  6904. nY¯e4)å
  6905. un-time envirø °dONLNd
  6906. {Y4eË)<%onment—not just application code—can °dONLNd
  6907. †flr
  6908. (ol&have global variables. (In the 680x0 r˛Ä°dONLNd
  6909. Δf
  6910. rI)°
  6911. un-time envira‡°dONLNd
  6912. ”fJrå)=onment, it’s dif3İdONLNd
  6913. „fçrì)Cfi@@°dONLNd
  6914. Âfìrı)cult for some kinds of °dONLNd
  6915. ¸sl<(|l1code to have global variables.) In addition, ther–¿°dONLNd -s<fi)–)e is no practical limit on the size of a °dONLNd VÄlå‰(âlZfragment’s data section. By contrast, the total size of an application’s global variables °dONLNd ±çlô∫*
  6916. in the 680x0 envirÆ`°dONLNd √ç∫ô•)N2onment is 32 KB, unless your development system pr√†°dONLNd ıç•ôÂ)Îovides special °dONLNd öl¶˜(£l"capabilities to exceed that limit.ˇ$Ï@ˇ ˇˇˇˇ@
  6917. ˇ·ˇ‚7^
  6918. 4H\, Palatino
  6919. &e.3+ä"CHAPTER à)>1,     Helvetica
  6920.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡äThe PowerPC Native Environment
  6921. , (‡1-23
  6922. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  6923. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿°dONLNd\äh√(eä Fragments cr4İdONLNd \ƒh):eated by the curr…°dONLNd\h)J<ently available linkers contain one section of code and one °dONLNdYiäu:(rä+section of static data (although it’s theor`°dONLNdÑi;uπ)±etically possible to have mor˛ °dONLNd°i∏u
  6924. )}e than one of each °dONLNd¥väÇ“(ätype of section). ƒ†°dONLNdΔv“ÇŸ)HAˇ@°dONLNd«vŸÇ
  6925. )  fragment’s äİdONLNd”vÇE)5 code sectionX¿°dONLNdflvFÇî)8 must contain pur¥¿°dONLNdvîÇ)Ne executable code, that is, °dONLNd ÉäèÑ(åä7code that is independent of the location in memory wher< °dONLNdCÉÖè—)˚e it is loaded. Pur
  6926. †°dONLNdVÉ“è)Me code can be °dONLNddêäú“(ôäloaded anywhervİdONLNdrê“úŸ)He ¿ °dONLNdtêŸúÌ)in mÕ‡°dONLNdxêÌú    )emoryG°dONLNd}ê    ú). ˆ°dONLNdê
  6927. ú&)As a r±‡°dONLNdÖê'ú)3esult, it cannot contain any absolute branches. In °dONLNd∏ùä©À(¶äaddition, any r∑°dONLNd«ùÀ©€)Aeferc °dONLNdÀù‹©ˆ)?ences to the fragment’s data must be position-independent: therY†°dONLNd
  6928. ùˆ©(¶ˆe can °dONLNd™ä∂˜(≥äbe no absolute data addr®`°dONLNd(™˜∂)m>esses in the code. Because the code contained in a fragment’s °dONLNdf∑ä√¯(¿äcode section must be pur≠†°dONLNd~∑¯√˘)n:e and position-independent, and because a code section is °dONLNd∏ƒä–Ø(Õäalways r–İdONLNd¿ƒØ–’)%ead-only¨`°dONLNd»ƒ’–¢)&-, a fragment can be put into ROM or paged dir™Ä°dONLNdıƒ¢–¿)Õectly fr7 °dONLNd˝ƒ¡–)om an application °dONLNd—ä›ê(⁄äfiå¿°dONLNd—ê›8))le. In addition, it’s much easier to shar`°dONLNd:—9›P)©e pur@°dONLNd?—P›µ)e code than it is to sharoİdONLNdX—µ›ÿ)ee impurC¿°dONLNd_—ÿ›)#
  6929. e code. This °dONLNdlfiäÍ(Áämakes it very easy to implemen≥@°dONLNdäfiÍh)åt import libraries a @°dONLNdûfiiÍü)S s fragments.°dONLNd´ä¸ë(˘äA∫†°dONLNd¨ë¸≈)  fragment’s E‡°dONLNd∏Δ¸¸)5 data sectionh†°dONLNdƒ¸¸v)6 contains the static data defi ‡°dONLNd‚w¸–){ned by the fragment“¿°dONLNdı–¸’)Y. t`°dONLNd˜’¸‹)A;†°dONLNd¯›¸)    n applica“@°dONLNd¸)(-°dONLNd˝ä    §(äCtion’s data section is typically loaded into the application’s heapt@°dONLNdF˝•    ™(•. ‡°dONLNdH˝™    ˚)An import library’´Ä°dONLNdZ˝˚    )Qs °dONLNd\
  6930. ä
  6931. (äYdata section can be loaded into the system heap or into the heap of any application that °dONLNdµä#®*
  6932. uses th^İdONLNdº©#Ó)e import libraryB °dONLNdÃÓ#V)E. Indeed, it’s possible foH¿°dONLNdÊV#´)hr an import library’â¿°dONLNd˙´#)Us data section to be °dONLNd$ä0W(-ä.loaded into memory at multiple locations, ther=`°dONLNd=$X0r)Œeby cr”°dONLNdC$r0¢)
  6933. eating mor∂`°dONLNdM$¢0)0e than one copy of the °dONLNdd1ä=&(:ä&data. This is especially useful for pr˙ °dONLNdä1&=W)ú oviding dif
  6934. @°dONLNdï1X=d)2ferÔ¿°dONLNdò1c=) (ent applications with their own copy of °dONLNd¿>äJ‚(Gäa library’s data. See  °dONLNd÷>„Jç)Y%“Import Libraries” beginning on page `°dONLNd˚>çJü)™1-50k@°dONLNdˇ>üJ¬) for mor5¿°dONLNd>√J
  6935. )$e details on this.°dONLNdPä\À(YäEEven though a fragment’s code and data sections can be loaded anywher`°dONLNd_PÃ\(Yà e in memoryÓ‡°dONLNdjP\)6, °dONLNdl]äi‰(fäthose sections cannoΩ‡°dONLNdÄ]‰iÔ)Zt b‡°dONLNdÉ]i) <e moved within memory once they’ve been loaded. Part of the °dONLNdøjävì(säprG °dONLNd¡jîvd)
  6936. /ocess of loading a fragment into memory is to rÄ °dONLNdjdv)–&esolve any dependencies it might have °dONLNdwäÉ(Ääupon other fragments. This q °dONLNd1wÉ){pr8@°dONLNd3wÉ;)
  6937.  
  6938. eparation Ë@°dONLNd=w;É),/involves inserting into part of the fragment’s °dONLNdlÑäêÛ(çädata section a number o,İdONLNdÉÑÙê$)j f pointers t/¿°dONLNdèÑ$êË)0+o data and code imported by the fragment frû°dONLNd∫ÑËê¯)ƒom °dONLNdæëäùÅ(öä9other fragments, as described in the following section. T°dONLNd˜ëÅù˜)˜o avoid having to perform °dONLNdûä™—(ßäthis fragment pr@°dONLNd"û“™)H
  6939. eparation mor≈¿°dONLNd/û™≠)>#e than once, the Operating System r)°dONLNdRûÆ™≈)ûequir@@°dONLNdWû≈™ )es that a loaded °dONLNdh´ä∑∏(¥ä
  6940. fragment rL°dONLNdr´π∑¶)/6emain stationary in memory for as long as it is loaded‹@°dONLNd®´¶∑®)Ì.
  6941. ≈H”4ΔH”
  6942.     °dONLNd™ƒäœù(ÃäNote
  6943. ˇ·ˇ‚7^
  6944. °dONLNdØ—ä›ÿ*In the 680x0 envir$İdONLNd¡—Ÿ›≈)O4onment, an application’s code can be unloaded (by th= °dONLNdı—≈›Ã)Ïe °dONLNd˜›äȪ(ÊäMemory M`°dONLNdˇ›ºÈ
  6945. )2anager) and later r     °dONLNd    ›È[)Reloaded into a difM¿°dONLNd    $›[Èg)Mfer0@°dONLNd    '›gÈ¡) ent place in memory∏‡°dONLNd    :›¿È≈)Y. °dONLNd    <Èäı´(ÚäThis difA‡°dONLNd    DȨı∏)"fer$`°dONLNd    GÈ∏ı›)     ence in r놰dONLNd    PÈ›ıù)%*un-time behavior leads to some important rÙ@°dONLNd    zÈùıÃ)¿ estrictions °dONLNd    Üıä(˛äon stand-alone PowerPC code r√@°dONLNd    £ı-)ãesour İdONLNd    ®ı.]) ces (called ¸†°dONLNd    ¥ı]à)/ accelerated™Ä°dONLNd    øıâè), rÔİdONLNd    ¡ıèß)esour7¿°dONLNd    Δı®ª)ces) °dONLNd    Àä
  6946. É(
  6947. ä9that mimic the behavior of existing kinds of 680x0 code rE‡°dONLNd
  6948. Ñ
  6949. ú)˙esouré °dONLNd
  6950.     ú
  6951. ø)    ces. See °dONLNd
  6952. 
  6953. ä‡(ä“Executable Resour˜†°dONLNd
  6954. $
  6955. ‡I)Vces” beginning on page ƒ†°dONLNd
  6956. ;
  6957. J\)j1-34İdONLNd
  6958. ?
  6959. ]ê) for details. ,
  6960.  
  6961. Zapf Dingbats
  6962. 
  6963. °dONLNd
  6964. Nñú)9u
  6965. 6H=47H= 8ä8
  6966. ˇ·ˇ‚7^
  6967. °dONLNd
  6968. P)ä7ı(3äImports and Exportsˇˇˇˇˇˇ‘@(31
  6969. °dONLNd
  6970. e=äI(FäVAs you’ve seen, a fragment (for example, an application) can access the code and data °dONLNd
  6971. ªJäVF*
  6972. *contained in some other fragment (typicallø‡°dONLNd
  6973. ÂJFVù)ºy an import library)*°dONLNd
  6974. ˘JûV)X by importing that code °dONLNd WäcË(`äand data. Converselyn°dONLNd %WÁc>)], an import library ce`°dONLNd :W?cL)Xan ∂¿°dONLNd =WLch)
  6975. exportô °dONLNd CWicÙ)  code and data for use by other °dONLNd cdäpa(mä1fragments (applications, extensions, or even otheJİdONLNd îdbp∞)ÿr import libraries)&†°dONLNd ßd±p⁄)O . It’s the rn °dONLNd ≥d⁄p))esponsibility °dONLNd ¡qä}—(zäof the linker to rë °dONLNd ”q—}¯)GCesolve any imports in your application (or other code fragment) to °dONLNd ~ääÀ(áäexports in somú °dONLNd $~Àä)Ae import library¿°dONLNd 4~ä)E8. The linker generates symbols that contain the name of °dONLNd lãäó(îäTthe exporting library and the name of the exported symbol and inserts those symbols °dONLNd ¿ò䧡*
  6976. into your linked applicatiol °dONLNd €ò§)vn.ˇ=@ˇ ˇˇˇˇ@
  6977. ˇ·ˇ‚7^
  6978. 4*\¯, Palatino
  6979. &e.3+l"CHAPTER à)>1,     Helvetica
  6980.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  6981. (‡*1-24
  6982.     )BThe PowerPC Native Environment4^*¿¯
  6983. °dONLNd\lhÑ(elFigurR¿°dONLNd\Ñhò)e 1-2@°dONLNd
  6984. \òh) illustrates how the linker r@°dONLNd'\h÷)x,esolves imports in an application. The SurfW`°dONLNdS\÷hÎ)Δriter °dONLNdYilu(rl&object module contains a number of unr∂°dONLNdiuÀ)∞&esolved symbols. Some of the symbols rj°dONLNd•iÃu‹)∞efer °dONLNd©i›uÛ)ence °dONLNdÆvlÇ(l'code that is part of the system softwarr`°dONLNd’vÇ€)®.e contained in the InterfaceLib import libraryÕ¿°dONLNdv⁄Çfl)Δ. °dONLNdÉlèó(ål    Other unrI`°dONLNdÉòèÁ),esolved symbols r¡ °dONLNdÉÁè˜)Oeferm@°dONLNd#ɯèY)ence code in the SurfTgİdONLNd9ÉYè®)aool import libraryT‡°dONLNdKÉßè€)N
  6985. . The linker °dONLNdXêlúo(ôlrE°dONLNdYêpúÔ)esolves those symbols and crÀ@°dONLNduêÔú4)eates the SurfWã@°dONLNdÑê4úÙ)E,riter application, which contains the names °dONLNd∞ùl©ú(¶l of the appr°dONLNdªùú©:)0$opriate import library and function.
  6986. À*‹¯4Ã*‹¯"Ã*]
  6987. ˇ·ˇ‚7^
  6988.     °dONLNd‡¡lÃñ(…l
  6989. Figure 1-2°dONLNdΡÆÃ')BCreating imports in a fragment
  6990. °dONLNd ålòv(ïlW°dONLNd åvòü)
  6991. @hen your application is launched, the Code Fragment Manager sear°dONLNdLå†ò’(ï†
  6992. ches for the °dONLNdYôl•Ö(¢llinker?‡°dONLNd_ôÜ•)-generated import symbols and r†°dONLNd~ô•è)ëeplaces them with the addrâ°dONLNdòôè•Ô)xesses of the imported °dONLNdƶl≤≠(Ølcode or data. TG °dONLNdΩ¶≠≤
  6993. )Ao do this successfully`°dONLNd”¶
  6994. ≤æ)]&, the Code Fragment Manager needs to fi3‡°dONLNd˙¶æ≤‹)¥nd the °dONLNd≥løÄ(ºlapprI@°dONLNd≥Åøõ)opriatfi@°dONLNd ≥õø‡)e import library›†°dONLNd≥·øÑ)F( and load it into memory if it isn’t alrfi`°dONLNdC≥ÑøÃ)£eady in memoryY¿°dONLNdQ≥Ãøı)H . Then, it 
  6995. €(t¯4⁄&€'ò@@ˆ@ˆ€'¡¡¡…ˇ˛˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚ò@@Ĉ@Ĉ'[»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚ò@ÄúˆÄúˆ['w»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚òň@ˆHHgÆT5‘IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  6996. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  6997. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  6998.  
  6999.  
  7000.  ˛êêê@ˆ€''ÅÅÅãÅÅÅãÅÅÅã‘˛ÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎKÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎ⁄˛ÎÅÅÅ∑Ï΀˛ÎÅÅÅ∑Î΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Î΀˛ÎÅÅÅ∑Ï΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Ï΀˛ÎÅÅÅ∑Î΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Î΀˛ÎÅÅÅ∑Ï΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Ï΀˛ÎÅÅÅ∑Î΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Î΀˛ÎùÏˇÅÅ∞Ï΀˛ÏùˇÓˇˇÅűÎÏ€˛ÎùˇÓ˛ˇÅǡˇ≥Ï΀˛ÎùˇÓˇˇˇÅÑ˝ˇ¥Î΀"˛ÏùˇÓˇˇˇÅᲡˇˇµÎÏ€&˛ÎùˇÓ˚ˇ∂¸ˇ˙ˇÅ·ˇ¸ˇµÎ΀/˛ÎùˇÓ˙ˇ∑ˇˇÎνˇÎÏ˛Î˝ˇÅ¡ˇ¸ˇˇ∂Ï΀;˛ÏùˇÈˇˇ∂ˇÏÎÏÎÏÎÏÎÏÎÏΡ˘ˇ˘ˇÅÙˇˇ¸ˇ¯ˇ¡ÎÏ€8˛Îùˇ˙ˇÒˇˇ∂ˇÎνˇÎÏνˇ˙˝ˇ˚˛ˇÅı˜ˇ˚˝ˇ√Ï΀D˛Îùˇ¸˝ˇÚˇˇ∂ˇÎÏˇˇ˛Îˇˇ˙ˇˇ˘ˇˇ˛ˇÅˆ˚ˇ˘ˇˇ˛ˇ≈Î΀>˛Ïùˇ¸ˇˇˇÛˇˇ∑ ˇˇÏˇˇˇÏÎÏˇ˘ˇˇÙ¯ˇÅ¸˝ˇÛ˝ˇ«ÎÏ€M˛Îùˇ¸ˆˇ˘ˇˇ∑ˇÎΡ˛ˇ˛Îˇ˙ˇˇ˝ˇ¯ˇˇˇ˛˙ˇÇ˝ˇ˛ˇ¯ˇˇˇˇ»Î΀M˛Îùˇ˚˝ˇ˛˝ˇ˙ˇˇ∑ ˇÏΡˇˇÎÏΡ˚ˇˇ˝ˇˇÙˇˇ˘˛ˇÉˇˇ˛ˇˇÛˇˇ…Ï΀S˛Ïùˇ˙ˇˇˇ˝˝ˇ¸ˇˇ∑ ˇÎÏˇˇÎÏÎÏˇˇ˝ˇˇ˝ˇˇˆ˚ˇ¯ˇÑˇˇ˛ˇˇˆ˝ˇˇˇ ÎÏ€^˛Îùˇ˚ˇˇ˝ˇ¸ˇ˝ˇˇ∑ ˇÏΡˇˇÎÎÏˇˇ˝ˇˇ˝ˇˇ˛ˇˇ¸¯ˇ˘ˇˇÜˇˇ˛ˇˇ˝ˇ¸˙ˇˇˇÀÏ΀]˛Îùˇ˚ˇˇˇˇ˚ˇ˝ˇˇ∑ˇÎβˇÎ˝ˇ¸ˇ˝ˇˇ˝ˇ˝¯ˇˆˇáˇˇ˛ˇˇ˝ˇˇ˝ˇˇ¸ˇˇÀÎ΀]˛Ïùˇ˚ˇˇˇˇ˙ˇ˝ˇˇπ˛ˇÎÏÎÏ˛ˇ˘ˇ˛ˇˇ˝ˇˇ˝¯ˇˇÅ˛ˇ˝ˇ˝ˇˇ˝ˇˇ˛˝ˇˇÀÎÏ€Y˛Îùˇ¸˝ˇˇ˘ˇ˝ˇˇπ¯ˇ˘ˇˇ˛ˇ˝ˇˇ˝ˇˇ˝˝ˇˇÅ˛ˇ˛ˇˇ˛ˇˇ˝˛ˇ˝˛ˇˇÀÎ΀b˛Îùˇ¸˛ˇˇˇ˚ˇ˚ˇˇπˇ˝ˇˇ¸¸ˇ˛ˇˇ˛ˇˇ˝ˇˇ˚˛ˇˇÅˇˇ˛ˇ˝ˇ¸ˇˇˇ˝ˇˇˇÀÏ΀[˛Ïùˇ˚ˇˇˇ˙ˇ¸ˇˇ≤˙ˇ˛ˇ˛ˇ˝ˇ¸ˇ˘ˇˇˇˇÅˇ˛ˇˇ˛ˇˇ˝ˇˇˇˇ˝ˇˇÀÎÏ€Q˛Îùˇ˙ˇˇˇ˚ˇ˝ˇˇ®ˇˇˇ˛ˇˇ˝ˇˇ˘˝ˇÅ˛ˇ˛ˇ˝ˇ˝˝ˇˇˇ¸ˇÀÏ΀G˛Îùˇ˙˛ˇˇˇ¸ˇ˝ˇˇ®ˇˇ˝ˇ¸ˇÅÒˇ˛ˇ˛ˇˇ˝¸ˇˇˇ≈Î΀G˛Ïùˇ˘ˇˇ˛ˇ˝ˇ˝ˇˇ®ˇˇˇ˝ˇ¸ˇÅÒˇˇˇˇ˛ˇ¸˚ˇˇˇΔÎÏ€B˛Îùˇ¯ˇˇˇˇ˛˛ˇ˝ˇˇßˇˇ˝ˇ˝ˇˇÅ˛ˇ˝ˇ¸˙ˇˇˇ«Î΀<˛Îùˇ˜˛ˇˆˇˇß˛ˇ˛ˇˇ˝ˇÅÓˇˇ˝ˇ¸ˇ˚ˇˇˇ»Ï΀:˛ÏùˇÈˇˇ¶ˇˇ˛ˇ¸ˇÅÌˇˇ˛ˇ˝ˇˇ˚ˇˇˇ…ÎÏ€:˛ÎùˇÈˇˇ•ˇˇˇˇ˝ˇˇÅÌˇˇˇ˝ˇˇ˛˚ˇˇˇ Ï΀6˛ÎùˇÈˇˇ§ˇˇˇ¸ˇÅÏˇˇ¸ˇ˝˚ˇˇˇÀÎ΀2˛ÏùˇÈˇˇ£ˇˇˇ¸ˇˇÅÌˇˇˇ¸ˇˇ˝¯ˇÀÎÏ€-˛ÎùˇÈˇˇ¢˛ˇ˚ˇÅÏ˛ˇ˚ˇ¸˚ˇˇÀÎ΀1˛ÎùˇÈˇˇ°ˇˇ˚ˇˇÅÏˇˇ˚ˇˇ¸¸ˇˇÀÏ΀+˛ÏùÊˇ†ˇˇ˚ˇÅΡˇ˚ˇ˚ˇˇ˛ˇÀÎÏ€)˛ÎúÁˇüˇˇ˝ˇˇÅ͡ˇ˝ˇˇ˙¸ˇÀÏ΀˛ÎÅü˚ˇÅË˚ˇæÎ΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Î΀˛ÎÅÅÅ∑Ï΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Ï΀˛ÎÅÅÅ∑Î΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Î΀˛ÎÅÅÅ∑Ï΀#˛Ïü˝ˇ¯ˇˇˇˇ˝ˇˇÅÅ¥ÎÏ€òň@ĈHHgÆP5’IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7001. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7002. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7003.  
  7004.  
  7005.  ˛êêê@Ĉ'['"˛Î†ˇıˇˇˇˇˇ˚ˇÅÅ¥Ï΀1˛Îü˛ˇˇ˛ˇ˝ˇˇˇˇˇˇ˝ˇˇˇˇˇÅŪÎ΀/˛Ïûˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇ¸ˇÅÅ∫ÎÏ€4˛Î†ˇ˛ˇˇˇˇ˛ˇˇˇˇˇˇˇ˛ˇÅÅ∫Î΀.˛Îü˛ˇ˝ˇ˛ˇˇˇˇˇˇˇ˝ˇÅÅ∫Ï΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Ï΀˛ÎÅÅÅ∑Î΀Z˛Ï£ˇ˝ˇ˜ˇÒˇ¸ˇƒ˝ˇ¯¸ˇ¯ˇ˛ˇÌˇ˛ˇˇˇù˝ˇ˜ˇˇˇˇ˛ˇˇÍˇˇ˜ˇˇ‹ÎÏ€P˛Î£ˇÚˇÒˇ¸ˇ≈ˇıˇˇˆˇÈˇ˛ˇˇûˇÙˇˇˇˇˇ˚ˇÍˇıˇ€Î΀–˛Î¶ˇˇ˛ˇˇˇˇ˛ˇˇ˛ˇˇˇˇ˝ˇˇ˛ˇ    ˇˇˇˇˇ»˛ˇˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇˇˇ˛ˇˇˇˇ˛˛ˇˇˇˇˇ˛ˇˇˇ˛ˇ¸ˇ˛ˇˇˇÆ˛ˇˇ˛ˇ˝ˇˇˇ˛ˇˇ¸ˇˇˇ˛ˇ˛ˇ˛ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇ‰Ï΀“˛Ïߡˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇ»ˇˇˇˇˇ˛ˇˇˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇ˛ˇˇˇˇˇ¨ˇˇˇˇˇ˛
  7006. ˇˇˇˇˇˇˇ¸ˇˇ¸#ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇÂÎÏ€ÿ˛Îß
  7007. ˇˇˇˇˇˇ˝ˇ˝ˇˇˇˇˇˇˇˇˇˇˇˇ«ˇ˛ˇˇˇˇ˛ˇˇˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇÆˇ˛ˇˇˇˇ˛ˇˇˇˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇÂÏÎ€Ã˛Î¶ˇˇ˛ˇˇ˛ˇ˛ˇˇˇˇˇˇ˛ˇˇ˛ˇ˝ˇ˛ˇ…˛ˇ˝ˇ˛ˇˇ˛ˇˇ˛ˇˇˇ˛ˇˇˇˇ˛ˇˇˇˇ˛ˇˇˇˇ˛ˇˇ˛ˇˇˇ¨˛ˇ˛˝ˇ˛
  7008. ˇˇˇˇˇ¸ˇˇ˝˛ˇ˛ˇ˛ˇˇˇ˛ˇ˛ˇ ˇˇˇˇˇˇÂÎ΀!˛ÏûˇÅ˙ˇ‡ˇÇˇ˛ˇ…ÎÏ€!˛ÎüˇÅ˘ˇ·ˇÅˇ˛ˇ…Î΀˛ÎÅñˇÅ‡ˇ˛ˇ…Ï΀˛Ïجˇ◊™ˇ¬ïˇÙÎÏ€&˛ÎØˇƒˇˇÿˇ¨ˇˇ√ˇóˇˇıÏ΀&˛ÎØˇƒˇˇÿˇ¨ˇˇ√ˇóˇˇıÎ΀&˛ÏØˇƒˇˇÿˇ¨ˇˇ√ˇóˇˇıÎÏ€3˛ÎØˇƒˇˇÿˇÚˇˇ¯ˇ˘ˇ–ˇˇ√ˇóˇˇıÎ΀D˛ÎØˇƒˇˇ·˛ˇ˚ˇÛˇˇ˘ˇ˙ˇ˜˛ˇˇÚˇˇÌˇˇ√ˇóˇˇıÏ΀T˛ÏØˇƒˇˇ·˙ˇˇÙˇ˚ˇˇ˛ˇˇˇ˛¸ˇˇˇ˛ˇˇˇˆˇˇÓˇˇ√ˇóˇˇıÎÏ€b˛ÎØˇƒˇˇ͡ˇÙˇ¸ˇˇˇ¸ˇ˛ˇˇˇˇ¸ˇˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇˇˆˇˇ√ˇóˇˇıÏ΀j˛ÎØˇƒˇˇˇÛ˚ˇ˛ˇÛ
  7009. ˇˇˇˇˇˇˇ˚ˇˇˇˇ˝ˇ˛ˇˇˇˇ˛ˇˇ˛ˇ˛ˇ˜ˇˇ√ˇóˇˇıÎ΀h˛ÏØˇƒˇˇˇÛˇˇ˙ˇÚˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇˇˇˇ˝˛ˇ˝ˇˇˇ˛ˇˇˇ˛ˇˇˇˆˇˇ√ˇóˇˇıÎÏ€2˛ÎØˇƒˇˇˇÍˇ«ˇ˘ˇˇˇ√ˇóˇˇıÎ΀8˛ÎØˇƒˇˇˇÍˇ«ˇˇ˙ˇˇ˛ˇıˇˇ√ˇóˇˇıÏ΀*˛ÏØˇƒˇˇˇÍˇ¨ˇˇ√ˇóˇˇıÎÏ€%˛ÎØˇƒˇˇˇÍ©ˇ√ˇóˇˇıÏ΀*˛ÎØˇƒˇˇˇÍˇ¨ˇˇ√ˇóˇˇıÎ΀*˛ÏØˇƒˇˇˇÍˇ¨ˇˇ√ˇóˇˇıÎÏ€7˛ÎØˇƒˇˇˇÍˇÙˇˇ¯ˇ˘ˇŒˇˇ√ˇóˇˇıÎ΀H˛ÎØˇƒˇˇˇÛˇˇ˙ˇıˇˇ˘ˇ˙ˇ˜ˇˇ˛ÌˇÔˇˇ√ˇóˇˇıÏ΀Z˛ÏØˇƒˇˇˇÛ˚ˇ˛ˇˆˇ¸ˇˇ˛˛ˇˇˇ˛¸ˇˇˇ˛ˇˇˇÙˇ˛ˇˇˇˇ√ˇóˇˇıÎÏ€j˛ÎØˇƒˇˇˇ˝Ôˇˇˆˇ˝ˇˇˇ¸ˇ˛ˇˇˇˇ¸ˇˇ˛ˇ˛ˇ˛ˇ˝ˇˇˇ˛ˇ˛ˇ˘ˇˇ√ˇóˇˇıÏ΀i˛ÎØˇƒˇˇˇ˝ˇ¯˙ˇˇı
  7010. ˇˇˇˇˇˇˇ˚ˇˇˇˇ˙ˇ˛˝ˇˇ˚ˇ˛    ˇˇ˛ˇˇˇ˜ˇˇ√ˇóˇˇıÎ΀m˛ÏØˇƒˇˇˇ˝ˇ¯˛ˇ˚ˇÙˇˇˇˇ˛˛ˇ˛ˇ˛ˇˇˇˇ˝ˇˇˇ˛ˇˇ˚ˇ˛    ˇˇˇˇˇ˜ˇˇ√ˇóˇˇıÎÏ€P˛ÎØˇƒˇˇˇ˝ˇÔˇ◊˛ˇ˛ˇˇ˛ˇˇˇ˝ˇˇˇˇ˛ˇ˛ˇ˘ˇˇ√ˇóˇˇıÎ΀1˛ÎØ¡ˇˇ˝ˇÔˇº˛˝ˇ˜ˇˇ√ˇóˇˇıÏ΀)˛ÏØˇƒˇˇˇ˝ˇÔˇ¨ˇˇ√îˇıÎÏ€)˛ÎØˇƒˇˇˇ˝ˇÔ©ˇ√ˇóˇˇıÏ΀.˛ÎØˇƒˇˇˇ˝ˇÔˇ¨ˇˇ√ˇóˇˇıÎ΀.˛ÏØˇƒˇˇˇ˝ˇÔˇ¨ˇˇ√ˇóˇˇıÎÏ€.˛ÎØˇƒˇˇˇ˝ˇÔˇ¨ˇˇ√ˇóˇˇıÎ΀.˛ÎØˇƒˇˇˇ˝ˇÔˇ¨ˇˇ√ˇóˇˇıÏ΀?˛Ï∫ˇˇ¯ˇƒˇˇˇ˝ˇÔˇ¨ˇˇ√ˇÔ˝ˇ¯¸ˇ˘ˇƒˇˇıÎÏ€K˛Î∫˚ˇ¸ˇÛˇˇÌˇˇÍˇˇˇ˝ˇÔˇ¨ˇˇ√ˇˇıˇˇ˜ˇƒˇˇıÏ΀n˛ÎæÛˇˇÙˇˇˇÙ˛¸ˇÎˇˇˇ˝ˇÔˇ¨ˇˇ√ˇÔ˛ˇˇ˛ˇ˛ˇˇˇˇ˛    ˇˇˇˇˇˇ˛˛ˇÌ˛ˇÊˇˇıÎ΀ó˛Ï¡˝ˇ˛˜ˇˇÛˇ˝ˇ    ˇˇˇˇˇ˝ˇ˛ˇ˛ˇˇˇÛˇˇˇ˝ˇÔˇ¨ˇˇ√ˇÓˇˇˇˇˇ˛ ˇˇˇˇˇ˚ˇ¸ˇˇ˝ˇ    ˇˇˇˇˇ˛ˇˇˇ˛ˇˇˇÔˇˇıÎÏ€õ˛Î¬ˇˇ˚˚ˇ¸ˇÚˇˇ˝ˇˇˇ˝ˇ˛˛ˇˇˇˇˇÙˇˇˇ˝ˇÔˇ¨ˇˇ√ˇˇ˛ˇˇˇˇ˛ ˇˇˇˇˇ˝ˇˇ˙ˇˇ˝ˇˇˇ˝ˇ˝ˇˇˇ˛ˇˇˇıÎ΀ü˛Î√ˇˇ˙ˇˇ¯ˇÙˇˇ˛˛˛ˇˇ˝ˇ¸    ˛ˇˇˇˇÙˇˇˇ˝ˇÔˇ¨ˇˇ√ˇÔ˛ˇ˝ˇ˛ˇˇˇˇ˛    ˇˇˇˇˇˇ¸ˇ˛˛˛ˇˇ˝ ˇˇ˛ˇˇ˛ˇˇˇıÏ΀\˛Ï√ˇÓˇŸˇ˝ˇÚˇˇˇ˝ˇÔˇ¨ˇˇ√ˇÀˇˇ˝ˇˇˇˇ˛ˇ˝ˇˇˇ˛ˇˇˇÔˇˇıÎÏ€?˛Î√ˇÓˇŸˇˇ˛ˇÚˇˇˇ˝ˇÔˇ¨ˇˇ√ˇ∞ˇÈˇˇıÏ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇÔ©ˇ√ˇ∞˛ˇ˛ˇÓˇˇıÎ΀2˛Ï√ˇÓˇƒˇˇˇ˝ˇÔˇ¨ˇˇ√ˇóˇˇıÎÏ€2˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇ¨ˇˇ√ˇóˇˇıÎ΀?˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇ˙ˇˇ¯ˇ¯ˇ…ˇˇ√ˇóˇˇıÏ΀M˛Ï√ˇÓ¡ˇˇ˝ˇ¯˝ˇ¸ˇ˚ˇˇ˘ˇ˘ˇ˜ˇı˛ˇËˇˇ˝ˇˇ√ˇóˇˇıÎÏ€]˛Î√ˇÓˇƒˇˇˇ˝ˇ¯˘ˇˇ¸ˇ˚ˇˇ˛ˇˇˇ˝¸ˇˇˇ˛ˇˇ˙ˇˇˇÁˇ˝ˇˇ√îˇıÏ΀z˛Î√ˇÓˇƒˇˇˇ˝ˇ˝Ùˇˇ¸ˇ¸ˇˇˇ¸ˇ˝ˇˇˇˇ˝ˇ˝ˇ˛ˇ˛ˇˇ¸ˇˇ˛ˇˇˇˇ˛ˇˇˇˇ˛˛˛ˇ˝ˇˇ√ˇóˇˇıÎÎ€Å˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇ˝¸ˇ˝ˇ˚
  7011. ˇˇˇˇˇˇˇ˙ˇˇˇˇ˝˛ˇ
  7012. ˇˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇ√ˇóˇˇıÎÏ€~˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ˙ˇˇ˛ˇˇ˛ˇ˛ˇ˝ˇˇˇˇ˝ˇˇˇˇ˝ˇˇˇˇ˛ˇˇˇˇˇ˝    ˇˇˇˇˇ˝ˇˇ√ˇóˇˇıÎ΀òňÄúˆHHgÆT5÷IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7013. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7014. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7015.  
  7016.  
  7017.  ˛êêêÄúˆ['w'6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÏ΀6˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÏ΀1˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙ©ˇ√ˇóˇˇıÎ΀6˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÏ΀6˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÏ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎ΀6˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÏ΀6˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÏ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ√ˇóˇˇıÎ΀1˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙ§ˇ»ˇóˇˇıÎÏ€:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ˝˛ˇ ˇóˇˇıÎ΀;˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ˚ˇˇÀˇóˇˇıÏ΀0˛Ï√ˇÓ¡ˇˇ˝ˇ˝ˇÙˇ¨ˇˇ˙ˇÀîˇıÎÏ€:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ¨ˇˇ˙ˇÀˇóˇˇıÏ΀I˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÍ˛ˇıˇˇÁˇˇÔˇˇ˙ˇÀˇóˇˇıÎ΀K˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ÚˇÎˇˇ˚ˇ˛ˇˇÊˇÔˇˇ˙ˇÀˇóˇˇıÎÏ€d˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇÎ
  7018. ˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇˇˇˇ¸ˇˇˇÔˇˇ˙ˇÀˇóˇˇıÎ΀b˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇÎˇ˛ˇ˝ˇ˛ˇˇˇˇ˛ˇ˛ˇ˛ˇ˚˛ˇˇÔˇˇ˙ˇÀˇóˇˇıÏ΀w˛Ï√ˇÓˇƒˇˇˇ˝ˇÔˇÍˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇ˝ˇ˝ˇˇˇ˙ˇÀˇÈ◊¸◊¯◊ı◊◊◊“ˇˇıÎÏ€Y˛Î√ˇ˘ˇˇ¯ˇƒˇˇˇ˝ˇÔˇ¨ˇˇ˙ˇÀˇÈ◊¸◊˘◊Ù◊˝◊˙˛ˇˇˇ·ˇˇıÏ΀t˛Î√ˇ˘˚ˇ¸ˇÎˇˇˇˇ‚ˇˇˇ˝ˇÔˇ¨ˇˇ˙ˇÀˇÈ˝◊¸◊◊◊¸◊◊◊◊◊◊◊˛◊◊˛ˇ˛ˇ˛·ˇˇıÎ΀ò@@ˆ@ˆw'∑»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚ò@@Ĉ@Ĉ∑'˜»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚ò@ÄúˆÄúˆ˜'»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚òň@ˆHHgÆP5◊IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7019. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7020. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7021.  
  7022.  
  7023.  ˛êêê@ˆw'∑'u˛Ï√ˇ˘˜ˇˇÍˇˇˇ‚ˇˇˇ˝ˇÔ©ˇ˙ˇÀˇÈ◊◊◊˚◊˛◊˛◊¸◊    ◊◊◊◊¸ˇ˛ ˇˇˇˇˇˇÎˇˇıÎÏ€É˛Î√ÓˇˇÍ
  7024. ˇˇˇˇˇˇ˛ˇˇÏˇˇˇ˝ˇÔˇ¨ˇˇ˙ˇÀˇÈ◊◊◊◊◊˛◊˛˛◊◊◊˛◊˝◊◊◊◊¸ˇ˛˛ˇ    ˇˇˇˇˇÎˇˇıÎ΀ֲÎ√ˇ˘˚ˇ¸ˇÍ    ˇˇ˛ˇˇˇ˛ˇ˛Îˇˇˇ˝ˇÔˇ¨ˇˇ˙ˇÀˇÈ◊◊◊˚◊˛◊˛◊˛◊˛◊˝◊˛◊◊˛    ˛ˇ˛ˇ˛ˇ˝ˇˇÍˇˇıÏ΀h˛Ï√ˇ˘ˇˇ¯ˇÎ¸ˇˇ˛ˇˇˇÎˇˇˇ˝ˇÔˇ¨ˇˇ˙ˇ˜˝ˇˇ˘ˇÙˇø˚ˇˇ˛ˇˇˇÍˇˇıÎÏ€B˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇ¨ˇˇ˙ˇ˜ˇÌˇ˘ˇÙˇóˇˇıÏ΀]˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇÊ˛ˇˇÌˇ˛‡ˇˇ˙ˇ˜ˇ˛ˇˇ˛ˇ˛ˇˇˇˇ¸ˇ˛˛ˇÙˇóˇˇıÎ΀e˛Ï√ˇÓˇƒˇˇˇ˝ˇÔˇ‰ˇˇÙˇˇˇ·ˇˇ˙¯ˇ˝ˇ
  7025. ˇˇˇˇˇˇ˛¸ˇˇˇÙˇóˇˇıÎÏ€v˛Î√ˇÓˇƒˇˇˇ˝ÌˇÊˇˇ˝ˇ    ˇˇˇˇˇ˛ˇˇˇ˛ˇˇˇÈˇˇ˙ˇ˜ˇ˝ ˇˇˇˇˇˇ˛ˇˇ˝ˇˇÙˇóˇˇıÎ΀j˛Î√ˇÓˇƒˇˇˇÍˇ‰˛ˇ¸ˇ˛˝ˇ˛˛ˇˇ˚˛Íˇˇ˙ˇ˜¸ˇˇ˛ˇ˛ˇˇˇ˛¸ˇ˛ˇÙˇóˇˇıÏ΀X˛Ï√ˇÓˇƒˇˇˇÍˇÊˇˇ˝ˇˇˇˇ˛ˇ˝ˇˇˇ˛ˇˇˇÈˇˇ˙ˇÔˇfiˇóˇˇıÎÏ€0˛Î√ˇÓ¡ˇˇÍˇÀˇ„ˇˇ˙ˇÔˇfiîˇıÏ΀?˛Î√ˇÓˇƒˇˇˇÍˇÀˇ˛˛˛Ëˇˇ˙ˇÔˇfiˇóˇˇıÎ΀:˛Ï√ˇÓˇƒˇˇˇÍˇ¨ˇˇ˙ˇÈˇ˘ˇÌˇóˇˇıÎÏ€5˛Î√ˇÓˇƒˇˇˇÍ©ˇ˙ˇÈˇ˘ˇÌˇóˇˇıÎ΀N˛Î√ˇÓˇƒˇˇˇÍˇ¨ˇˇ˙ˇ˜ˇˇˇ˝ˇˇ˛˛ˇ    ˇˇˇˇˇˇóˇˇıÏ΀L˛Ï√ˇÓˇƒˇˇˇÍˇ¨ˇˇ˙ˇ¯¸ˇˇˇˇˇˇˇˇˇ¸ˇÒˇóˇˇıÎÏ€R˛Î√ˇÓˇƒˇˇˇÍˇ¨ˇˇ˙ˇ¯ˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇÒˇóˇˇıÏ΀P˛Î√ˇÓˇƒˇˇˇÍˇ¨ˇˇ˙ˇ˜
  7026. ˇˇˇˇˇˇ˛ˇ    ˇˇˇˇˇˇóˇˇıÎ΀E˛Ï√ˇÓˇƒˇˇˇÍˇ‰ˇ˝ˇıˇˇflˇˇ˙ˇÛˇ⁄ˇóˇˇıÎÏ€P˛Î√ˇÓˇƒˇˇˡ„ˇˇ˝ˇˇˇˇˇˇˇˇˇ˛ˇÁˇˇ˙ˇÙˇŸˇóˇˇıÎ΀K˛Î√ˇÓˇƒˇˇÿˇflˇ˛ˇ˛˛˛ˇˇ˛ˇˇˇˇˇËˇˇ˙ˇÀˇóˇˇıÏ΀O˛Ï√ˇÓˇƒˇˇÿˇ‰ˇ˝ˇ˛ˇˇ˛ˇˇˇˇˇˇˇËˇˇ˙ˇÀˇóˇˇıÎÏ€L˛Î√ˇÓˇƒˇˇÿˇ‰˛ˇ˛ˇˇˇˇˇˇˇˇˇˇ˛ˇÁˇˇ˙ˇÀˇóˇˇıÏ΀7˛Î√ˇÓˇƒˇˇÿˇÕˇ˛ˇÂˇˇ˚ˇˇÀˇóˇˇıÎ΀<˛Ï√ˇÓˇƒˇˇÿˇ÷ˇ˘ˇ˛ˇˇÊˇˇ¸ˇˇ ˇóˇˇıÎÏ€)˛Î√ˇÓˇƒˇˇÿ©ˇ¸ˇ…ˇóˇˇıÎ΀%˛Î√ˇÓˇƒˇˇ◊™ˇ√ˇóˇˇıÏ΀#˛Ï√ˇÓˇƒˇˇÅ¬ˇóˇˇıÎÏ€#˛Î√ˇÓˇƒˇˇÅ¬ˇóˇˇıÏ΀#˛Î√ˇÓˇƒˇˇÅ¬ˇóˇˇıÎ΀#˛Ï√ˇÓˇƒˇˇÅ¬ˇóˇˇıÎÏ€#˛Î√ˇÓˇƒˇˇÅ¬ˇóˇˇıÎ΀#˛Î√ˇÓˇƒˇˇÅ¬ˇóˇˇıÏ΀˛Ï√ˇÓ¡ˇÅ¬îˇıÎÏ€#˛Î√ˇÓˇƒˇˇÅ¬ˇóˇˇıÏ΀#˛Î√ˇÓˇƒˇˇÅ¬ˇóˇˇıÎ΀#˛Ï√ˇÓˇƒˇˇÅ¬ˇóˇˇıÎÏ€#˛Î√ˇÓˇƒˇˇÅ¬ˇóˇˇıÎ΀E˛Î√ˇÓˇƒˇˇ’ˇ˚ˇ¯ˇÙˇ˛ˇˇ˚ˇÌˇ˛ˇˇˇ∂ˇóˇˇıÏ΀@˛Ï√ˇÓˇƒˇˇ’ˇ˚ˇ˘ˇÛˇ˝ˇÊˇ˛ˇˇ∂ˇóˇˇıÎÏ€{˛Î√ˇÓˇƒˇˇ’˝ˇ¸ˇˇˇ¸ˇ˛ˇˇˇˇˇ˛˝ˇ˝ˇˇˇˇ˛˛ˇˇˇˇˇ˛ˇˇˇ˛ˇ¸ˇ˛ˇˇˇ«ˇÛ˝ˇ˘¸ˇ˘ˇøˇˇıÏ΀߲Î√ˇ˘˝ˇ˙ˇ¯ˇˇıˇ˛Áˇ˛˘ˇˇ’ˇˇˇ˚ˇ˛ˇˇˇˇ¸ˇˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇ˛ˇˇˇˇˇΔˇÙˇˆˇˇ˜ˇ˜ˇˇıˇ˛Áˇ˛ıˇˇıÎ΀‹˛Ï√ˇ˘˘ˇ˛ˇ˘ˇ¸ˇ˝ˇˇ˝ ˇˇˇˇˇˇˇ˛ˇˇˇ˛˛ˇ˘ˇˇ’ˇˇˇˇˇ˛ˇ˛˛ˇˇˇ˛ˇ˝ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇΔˇÛ˛ˇˇ˚ˇˇ˛ˇˇˇˇˇˇˇˇˇˇ˚ˇ˛ˇˇÊˇıˇˇıÎÏ€È˛Î√Óˇˇ˘ˇˇˇ˛ˇˇ˛ˇ˛ˇˇˇˇ˛ˇˇˇˇˇˇˇˇ˘ˇˇ’ˇˇˇ˚ˇ˛ˇ˛ˇ˛ˇ˛ˇ˘ˇ˝ˇˇˇˇ˛ˇˇˇˇ˛ˇˇˇˇ˛ˇˇ˛ˇˇˇ≈ˇÚˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˝ˇ˝ˇˇ˝ˇˇ˝ ˇˇˇˇˇˇˇ˛ˇˇˇ˛˛ˇıˇˇıÎÎ€Ø˛Î√ˇ˘˘ˇ˛ˇ˘ˇˇˇ˝˛˛ ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇ˘ˇˇ°ˇ‡ˇ≈ˇÙˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˝
  7027. ˇ˛ˇ˛ˇ˛˛˛˛˛ˇˇˇ˛ˇˇˇˇˇ˛ˇˇˇıˇˇıÏ΀©˛Ï√ˇ˘˝ˇ˙ˇ¯ˇˇ˛ˇˇ˛ˇˇˇ˛ˇˇˇˇ˛ˇˇ˛ˇˇˇ˝ˇ˙ˇˇ°ˇ·ˇƒˇÛ˛ˇ˝ˇˇˇ˛ˇˇˇˇˇˇˇˇ˛ˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇˇ˛ˇ˛ˇ˝ˇˆˇˇıÎÏ€%˛Î√ˇÓˇƒˇˇ°ˇ£ˇóˇˇıÏ΀#˛Î√ˇÓˇƒˇˇÅ¬ˇóˇˇıÎ΀%˛Ï√ˇÓˇƒˇˇÿ¶ˇΔˇóˇˇıÎÏ€*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎ΀*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÏ΀*˛Ï√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎÏ€ ˛Î√ˇÓ¡ˇÿˇ®ˇˇ«îˇıÏ΀*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎ΀*˛Ï√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎÏ€*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎ΀*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÏ΀*˛Ï√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎÏ€*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÏ΀*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎ΀9˛Ï˜ˇˇÌˇÙˇÙˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎÏ€9˛Î˜ˇˇÌˇÙˇÙˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎ΀Q˛Î˜ˇ˝ˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇ˛˛ˇÙˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÏ΀P˛Ï˜
  7028. ˇˇˇˇˇ˝ˇ¸ˇˇˇˇˇ˝ˇˇˇıˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎÏ€òň@ĈHHgÆT5ÿIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7029. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7030. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7031.  
  7032.  
  7033.  ˛êêê@Ĉ∑'˜'R˛Î˜ ˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇ˝ˇˇÙˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÏ΀Q˛Îˆ
  7034. ˇˇˇˇˇ˛ˇ ˇˇˇˇˇˇ˛˛ˇ˛ˇÙˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎ΀%˛Ï√ˇÓˇƒˇˇÿ•ˇ«ˇóˇˇıÎÏ€*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÎ΀*˛Î√ˇÓˇƒˇˇÿˇ®ˇˇ«ˇóˇˇıÏ΀?˛Ïflˇ˘ˇÔˇÓˇƒˇˇÿˇÍˇˇ¯ˇ˘ˇ‘ˇˇ«ˇóˇˇıÎÏ€A˛Îflˇ˘ˇÔˇÓˇƒˇˇÿˇÎˇˇ˘ˇ˙ˇ”ˇˇ«ˇóˇˇıÏ΀k˛ÎÏˇˇˇ˝ˇˇ˛ˇ˛ˇˇˇˇˇÛˇÓˇƒˇˇ·˛ˇ˚ˇÏˇ˚ˇˇ˛ˇˇˇ˛¸ˇˇˇ˝ˇ˛ˇ‚ˇˇ«ˇóˇˇıÎ΀u˛Ï̸ˇˇˇˇˇˇˇˇˇˇ˝ˇÙˇÓˇƒˇˇ·˙ˇˇÏˇ¸ˇˇˇ¸ˇ˛ˇˇˇˇ¸ˇ˛ˇˇ˛ˇˇˇˇÌˇˇ«ˇóˇˇıÎÏ€z˛ÎÌˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇÙˇÓˇƒˇˇ͡ˇÎ
  7035. ˇˇˇˇˇˇˇ˚ˇˇˇˇ¸ˇ˛ ˇˇˇˇˇˇˇÌˇˇ«ˇóˇˇıÎ΀}˛ÎÏ ˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇÛˇÓˇƒˇˇˇÛ˚ˇ˛ˇÍˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇˇˇˇ¸˛ˇ˛˛˛ˇ˝ˇ˛Óˇˇ«ˇóˇˇıÏ΀;˛Ïˡ›ˇÓ¡ˇˇÛˇˇ˙ˇÕ˚ˇ˝˛ˇˇˇÓˇˇ«îˇıÎÏ€2˛ÎÈˇ‹ˇÓˇƒˇˇˇÍˇ®ˇˇ«ˇóˇˇıÏ΀.˛Î√ˇÓˇƒˇˇˇÍˇ®ˇˇ«ˇóˇˇıÎ΀)˛Ï√ˇÓˇƒˇˇˇÍ•ˇ«ˇóˇˇıÎÏ€.˛Î√ˇÓˇƒˇˇˇÍˇ®ˇˇ«ˇóˇˇıÎ΀.˛Î√ˇÓˇƒˇˇˇÍˇ®ˇˇ«ˇóˇˇıÏ΀.˛Ï√ˇÓˇƒˇˇˇÍˇ®ˇˇ«ˇóˇˇıÎÏ€O˛Î√ˇÓˇƒˇˇˇÍˇ˝ˇˇ¯ˇ˘ˇ¡ˇˇ«ˇ˚ˇ¸ˇ˘ˇÙˇˇˇøˇˇıÏ΀¢˛Î√ˇ˘¸ˇ˚ˇ¸ˇˇˆˇˇ˜˛ˇ˝ˇ˙ˇˇÙˇˇˇÛ˛ˇ˚ˇ˛ˇˇ˘ˇ˙ˇ˜ˇ˛ˆ˛ˇ˜ˇˇˇ˛˘ˇˇˆˇˇ«ˇ˚ˇ¸ˇ˙ˇÛˇ˛ˇ¯˛ˇÙˇ˜ˇˇ˛ıˇˇÛˇˇıÎ΀ª˛Ï√ˇ˘¯ˇˇ˝ˇˇ˚ˇ˛ˇˇıˇıˇÙˇˇˇÛ˙ˇˇˇ˚ˇˇ˛ˇˇˇ˛¸ˇˇˇ˛ˇˇ˚ˇ˛ˇˇ˜ˇˇˇıˇˆˇˇ«ˇ˚˝ˇ¸ˇ˙ˇ˛ˇˇˇˇ˛ˇ˝ˇˇ˛ˇ¯ˇ¸ˇˆˇˇıˇÛˇˇıÎÏ€˛Î√Óˇˇ˝ˇ¸ˇˇ˝ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇˇ˛ˇ˛ˇˇˇ˝Ôˇˇˇ¸ˇˇˇ¸ˇ˛ˇˇˇˇ˝ˇ¸ˇˇ˝ˇ
  7036. ˇˇˇˇˇˇˇ˛ˇˇˇˇˇˇ˛˛ˇ ˇˇˇˇˇˇˇ«ˇ˚ˇˇˇ˚ˇ
  7037. ˇˇˇˇ˝ˇ    ˇˇˇˇ¸ˇ˝ˇˇ˝ˇˇˇˇˇˇˇˇˇˇˇ˛ˇ˝ˇˇˇ˛˛ˇ˝ˇˇıÎ΀˛Î√ˇ˘˙ˇ˝ˇ˝
  7038. ˇ˛ˇˇˇ˛˛˛ˇˇˇˇˇˇˇ˛˛˛˛˛ˇ˛ˇ˛˛˛ˇ˛ˇˇˇ˝ˇ¯˚ˇ˛ˇ˛
  7039. ˇˇˇˇˇˇˇ˚ˇˇˇˇ˝˛ˇˇˇ˛ˇ˛ˇˇˇ˝˛ˇ˛ˇ˛ ˇˇˇˇ˛ˇ˝ˇˇˇˇ«ˇ˚ˇˇˇˇˇ˛ˇ˛ˇˇˇˇ¸ˇˇˇˇ¸
  7040. ˇˇˇˇ˛ˇ˝˛ˇˇˇˇ˛ˇˇˇˇ˚ˇ˛˛
  7041. ˛ˇˇˇˇ˝ˇˇıÏ΀˛Ï√ˇ˘˛ˇ˘ˇ˝ˇˇˇˇ˛ˇ˛ˇˇˇ˝ˇˇ˛ˇ˛ˇˇˇ˛ˇˇ˛ˇˇ˛ˇˇˇ˝ˇ¯ˇˇ˙ˇ˝ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇˇˇˇ¸ˇˇ˛ˇˇ˛ˇˇˇˇ˛ˇˇˇ˛ˇ˛ˇˇˇ˝ˇ ˇˇˇˇˇˇ«ˇ˚ˇˇˇ˚ˇˇ˛ˇ˚ˇ˙ˇˇ˛ˇ˛ˇˇ˝ˇ¸ˇˇˇ¸ˇˇˇ¸ˇˇ˛
  7042. ˇˇˇˇˇ˝ˇˇıÎÏ€l˛Î√ˇÓˇ¸ˇˇ˛ˇˇ˛ˇˇˇˇ˛ˇˇˇˇˇ˛˛ˇˇˇ˛ˇˇˇ˛ˇ˛ˇˇˇ˝ˇÔˇ®ˇˇ«ˇúˇ˝ˇˇıÏ΀;˛Î√ˇÓˇ»ˇ˛ˇˇˇ˝ˇÔˇ®ˇˇ«ˇûˇˇ¸ˇˇıÎ΀2˛Ï√ˇÓˇ ˇˇ˝ˇˇˇ˝ˇÔ•ˇ«ˇóˇˇıÎÏ€2˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇ®ˇˇ«ˇóˇˇıÎ΀2˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇ®ˇˇ«ˇóˇˇıÏ΀?˛Ï√ˇÓˇƒˇˇˇ˝ˇÔˇ˝ˇˇ¯ˇ˘ˇ¡ˇˇ«ˇóˇˇıÎÏ€Q˛Î√ˇÓ¡ˇˇ˝ˇÔˇ˛ˇˇ˘ˇ˙ˇ˜ˇˇˆˇˇ˜ˇˇ˝ˇ˙ˇˇıˇˇ«îˇıÏ΀h˛Î√ˇÓˇƒˇˇˇ˝ˇ¯˛ˇ˚ˇˇ˚ˇˇ˛ˇˇˇ˛¸ˇˇˇ˛ˇˇ˚˛˛˛ˇı˛ıˇıˇˇ«ˇóˇˇıÎ΀DzÏ√ˇÓˇƒˇˇˇ˝ˇ¯˙ˇˇˇ¸ˇˇˇ¸ˇ˛ˇˇˇˇ˝ˇ¸ˇˇ˝ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇˇ˛ˇˇˇ«ˇóˇˇıÎÏ€á˛Î√ˇÓˇƒˇˇˇ˝ˇ˝Ùˇˇ˛
  7043. ˇˇˇˇˇˇˇ˚ˇˇˇˇ˝
  7044. ˇˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇˇˇˇ«ˇóˇˇıÎ΀å˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇ˝˚ˇ˛ˇ˝ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇˇˇˇ˝˛ˇˇˇ˛ˇ˛ˇˇˇ˝˛ˇ˛ˇ˛ˇˇˇ˛ˇˇ˛ˇˇˇˇ«ˇóˇˇıÏ΀q˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇ˝ˇˇ˙ˇflˇˇ˛ˇˇ˛ˇˇˇˇ˛ˇˇˇˇˇ˛˛ˇˇˇ˛ˇˇˇ˛ˇˇˇ«ˇóˇˇıÎÏ€9˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ´ˇˇˇ«ˇóˇˇıÏ΀;˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ≠ˇˇ˛ˇˇ«ˇóˇˇıÎ΀1˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙ•ˇ«ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÎ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÏ΀6˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÏ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÎ΀6˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÎ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÏ΀6˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÏ΀6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ«ˇóˇˇıÎ΀1˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙ•ˇ«ˇóˇˇıÎÏ€5˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®˘ˇÕˇóˇˇıÎ΀;˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ¸ˇˇŒˇóˇˇıÏ΀5˛Ï√ˇÓ¡ˇˇ˝ˇ˝ˇÙˇ®ˇˇ˚ˇŒˇóˇˇıÎÏ€6˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˚ˇˇœîˇıÏ΀E˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÂ˛ˇÚˇ˛˛ˇ€ˇˇ˙ˇœˇóˇˇıÎ΀J˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ‰ˇÒˇˇˇ˜ˇÊˇˇ˙ˇœˇóˇˇıÎÏ€]˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ‰ˇˇˇˇ˛ˇ˛    ˇˇˇˇˇˇ˛ˇˇ˛ˇÁˇˇ˙ˇœˇóˇˇıÎ΀]˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ‰˛˛˛˝ˇˇˇ˛ˇˇˇ˛˛˛˛˛Êˇˇ˙ˇœˇóˇˇıÏ΀]˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÂ˛ˇ˛ˇ˛˛ˇˇˇ˛ˇˇˇˇˇ˛ˇÁˇˇ˙ˇœˇóˇˇıÎÏ€N˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇ˚ˇ¸ˇ˘ˇÙˇˇˇøˇˇıÏ΀DzÎ√ˇ˘¸ˇ˚ˇ¸ˇˇˆˇˇ˜˛ˇˇˇ˘ˇ˛ıˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇ˚ˇ¸ˇ˙ˇÛˇ˛ˇ¯˛ˇÙˇ˜ˇ˛ˇˆˇÛˇˇıÎ΀ä˛Ï√ˇ˘¯ˇˇ˝ˇˇ˚ˇ˛ˇˇ˜ˇˇˇıˇıˇˇˇ˝ˇ˝ˇÙ•ˇ˙ˇœˇ˚˝ˇ¸ˇ˙ˇ˛ˇˇˇˇ˛ˇ˝ˇˇ˛ˇ¯ˇ¸ˇ˜ˇˇˇÁˇˇıÎÏ€…˛Î√Óˇˇ˝ˇ¸ˇˇ˝ˇ
  7045. ˇˇˇˇˇˇˇ˛ˇˇˇˇˇˇ˛˛ˇ
  7046. ˇˇˇˇˇˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇ˚ˇˇˇ˚ˇ
  7047. ˇˇˇˇ˝ˇ    ˇˇˇˇ¸ˇ˝ˇˇ˝ˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛ˇˇıÎ΀òňÄúˆHHgÆP5ŸÄ˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7048. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7049. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7050.  
  7051.  
  7052.  ˛êêêÄúˆ˜''‘˛Î√ˇ˘˙ˇ˝ˇ˝
  7053. ˇ˛ˇˇˇ˛˛˛ˇˇˇˇˇˇˇ˛˛ ˛ˇˇˇˇ˛˛˛ˇ˛ˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇ˚ˇˇˇˇˇ˛ˇ˛ˇˇˇˇ¸ˇˇˇˇ¸
  7054. ˇˇˇˇ˛ˇ˝˛ˇˇˇˇ˛ˇˇˇˇ¸ˇ˛ˇ˛    ˇˇˇˇˇ˛ˇˇıÏ΀«˛Ï√ˇ˘˛ˇ˘ˇ˝ˇˇˇˇ˛ˇ˛ˇˇˇ˝ˇˇ˛ˇ˛ ˇˇˇˇˇˇ˝ˇˇ˛ˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇ˚ˇˇˇ˚ˇˇ˛ˇ˚ˇ˙ˇˇ˛ˇ˛ˇˇ˝ˇ¸ˇˇˇ¸ˇˇˇ¸ˇˇˇ˛ˇˇˇˇ˝ˇˇıÎÏ€p˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇ–ˇˇ˛ˇ˛ˇˇ˛ˇ˛ˇ˛ˇˇˇˇˇˇˇ˛ˇˇˇ˛ˇˇ˝ˇˇıÏ΀D˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÁˇ˛ˇÓ˛ˇ€ˇˇ˙ˇœˇóˇˇıÎ΀H˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÁˇÎˇˇˆˇËˇˇ˙ˇœˇóˇˇıÎÏ€`˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÁˇ˝ˇ¸ˇˇˇ˛ˇˇˇˇˇˇˇˇˇËˇˇ˙ˇœˇóˇˇıÎ΀`˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÁˇ˝ˇ˛ˇ˛˛˛ˇˇ˛˛˛ˇ˛ˇ˛¸ˇËˇˇ˙ˇœˇóˇˇıÏ΀a˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÁ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛ˇ˛ˇˇÍˇˇ˙ˇœˇóˇˇıÎÏ€5˛Î√ˇÓ¡ˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÏ΀5˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœîˇıÎ΀5˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙ•ˇ˙ˇœˇóˇˇıÎÏ€:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÎ΀:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÏ΀:˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÎÏ€:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÏ΀V˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÒ˛ˇ˛˙˛Áˇ˛ˇˇ˘˛ˇ˛ˇˇÚˇˇ˙ˇœˇóˇˇıÎ΀V˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇˇÙˇ˘ˇıˇ˛ˇ˜ˇ˝ˇÚˇˇ˙ˇœˇóˇˇıÎÏ€g˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇˇ¸ˇ˛ˇ˛ˇ˘ˇ˛ˇˇ˜ ˇˇˇˇˇˇ˝ˇÚˇˇ˙ˇœˇóˇˇıÎ΀j˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ˛¸ˇ˛ˇ˛ˇ˘ˇ˛ˇˇ˚˛˛˛ˇˇˇ˝ˇ˝˛Úˇˇ˙ˇœˇóˇˇıÏ΀k˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÒ˝ˇˇˇ˛ˇ˛ˇˇ˙ˇˇˇ˙˛ˇˇˇˇˇ˛ˇ˛ˇ˛ˇÛˇˇ˙ˇœˇóˇˇıÎÏ€:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÏ΀:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÎ΀5˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙ•ˇ˙ˇœˇóˇˇıÎÏ€:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÎ΀:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÏ΀:˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÎÏ€:˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇ®ˇˇ˙ˇœˇóˇˇıÏ΀S˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÌˇˆˇ˛˜ˇ˛ˇ˛ˇ˘ˇÊˇˇ˙ˇœˇóˇˇıÎ΀ò@@ˆ@ˆ'S»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚ò@@Ĉ@ĈS'ì»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚»ˇ˚¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
  7055.     Á√£Äp À
  7056.     $D@     0Àò@ÄúˆÄúˆì'Ø
  7057.     (H@ @À
  7058.     $H@@pÀ
  7059.     «ê@@ àÀ
  7060.     úCÇàÀ
  7061.     ÄÄàÀ
  7062.     Ñ$êÀ
  7063.     ¯`À¡¡¡Ù˛t˝Ÿ˛àı(Ÿ˝ĸ ˛ ˝ fi ,ˆV`Ã7˚
  7064. m·ñ˛¿h{5Îa¨fi ≈"HêI§ííHR ê$JDíR@fi I"I à$â$§íîHH    !DäDîí@fi ƒë¿ 8í)    %PÑ
  7065. A Hëâ'$Äfi ѱ !""ñ…P%$ê≤Q(Hï    ,e†fi 
  7066. √P‡p>¬i9∏
  7067. '√\`–Hkâ3¶@fi˛ ¯D˚Ä@€˛ ¯D¸Ä@€˛¿¯8¸Ä€Ä¿˛|˛|t˛– ⁄˛@¸"˛"à"˛ ⁄ Ä@"˛#" ⁄≥ÿ√≤7≥,¿DfI¨Eó{-Å?…6Δ›I!$íRí     xíJPzô$í@âII    ›I"(íÇ(í
  7068.  ATêBî)@Q"Jâ›òň@ˆHHgÆT5⁄IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7069. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7070. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7071.  
  7072.  
  7073.  ˛êêê@ˆ'S'\˛Ï√ˇÓˇƒˇˇˇ˝ˇ˝ˇÙˇÓˇˇ˙ˇˇˇˆˇˇ⁄ˇˇ˙ˇ˜˝ˇˇ˘ˇ¯ˇóˇˇıÎÏ€u˛Î√ˇÓˇƒˇˇˇ˝ˇ˝ÚˇÓ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇ¸ˇˇˇÓˇˇ˙ˇ˜ˇÌˇ˘ˇ¯ˇóˇˇıÎ΀ɲÎ√ˇÓˇƒˇˇˇ˝ˇÔˇÓˇ˛ˇˇ˝    ˛ˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇ¸ˇˇ˛Óˇˇ˙¯ˇˇ˝ˇˇ˛ˇˇˇ˙ˇ˛˛ˇ¯ˇóˇˇıÏ΀à˛Ï√ˇÓˇƒˇˇˇ˝ˇÔˇÌˇ˛˛ˇ˛ˇˇˇ˛ˇˇˇ˛ˇ˛ˇˇ˛ˇˇˇˇˇ˛ˇˇˇˇ˙ˇ˜˝ˇˇˇˇˇˇˇ¸ˇˇˇ¯ˇóˇˇıÎÏ€K˛Î√ˇÓ¡ˇˇ˝ˇÔˇ®ˇˇ˙ˇ˜ˇ¸ˇˇˇˇˇˇˇˇ˝ˇˇ¯îˇıÏ΀X˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇªˇ˛ˇˇ˙ˇ˜˝ˇˇˇ˛ˇˇˇˇ¸ˇ˛ˇ¯ˇóˇˇıÎ΀5˛Ï√ˇÓˇƒˇˇˇ˝ˇÔ•ˇ˙ˇÓˇ„ˇóˇˇıÎÏ€:˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇ®ˇˇ˙ˇÓˇ„ˇóˇˇıÎ΀:˛Î√ˇÓˇƒˇˇˇ˝ˇÔˇ®ˇˇ˙ˇÓˇ„ˇóˇˇıÏ΀>˛Ï√ˇÓˇƒˇˇˇ˝ˇÔˇ®ˇˇ˙ˇÈˇ˘ˇÒˇóˇˇıÎÏ€K˛Î√ˇˇÔˇƒˇˇˇ˝ˇÔˇ®ˇˇ˙ˇÈˇ˘ˇÒˇÌ˝ˇ¯¸ˇ˘ˇΔˇˇıÏ΀˛Î¬ˇ˙˝ˇ˙ˇƒˇˇˇ˝ˇÔˇÌˇˆˇ˛˜ˇˇˇˇ¯ˇÁˇˇ˙ˇ˜ˇˇˇ˝ˇˇ˛˛ˇ
  7074. ˇˇˇˇˇıˇÓˇıˇˇ˜ˇΔˇˇıÎ΀•˛Ï¬˛ˇ¸˘ˇ˛ˇÒ˛ˇÚˇˇËˇˇˇ˝ˇÔˇÓˇˇ˙ˇˇˇ˜ˇˇˇˆˇÁˇˇ˙ˇ¯¸ˇˇˇˇˇˇˇˇˇˇ˝ˇˆˇÌ˛ˇˇ˚ˇˇ˛
  7075. ˇˇˇˇˇˇˇˇ˝ˇˇÒˇˇ‰ˇˇıÎÏ€ÿ˛Î¿ÒˇˇÚˇˇˇıˇˇÈˇˇˇ˝ÌˇÓ˛ˇ2ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇÒˇˇ˙ˇ¯ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˆˇÏˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇ¸ˇˇ˝ˇˇˇˇˇˇˇˇˇ˛ˇÌˇˇıÎ΀˲Î∫˘ˇ˛ˇÒˇˇˇˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇÒˇˇˇÍˇÓˇ˛ˇˇ˝    ˛ˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇÔˇˇ˙ˇ˜
  7076. ˇˇˇˇˇˇ˛ˇ
  7077. ˇˇˇˇˇıˇÓˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ¯ˇ˛ˇˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇÓˇˇıÏÎ€Õ˛Ï∫˝ˇ˙ˇÚˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇÚˇˇˇÍˇÌˇ˛˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇˇˇ˛ˇÔˇˇ˙ˇÛˇfiˇÌ˛ˇ˛˝ˇˇˇ˛
  7078. ˇˇˇˇˇˇˇˇ˛ˇ˝ˇ˛ˇˇ˛ˇˇˇˇˇˇˇÓˇˇıÎÏ€n˛ÎØˇÚ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇ˛ˇÒˇˇˇÍˇ®ˇˇ˙ˇÙˇ›ˇ…˛ˇ˛ˇˇˇˇˇˇˇˇˇˇ˛ˇÌˇˇıÏ΀B˛ÎØˇ‰ˇ˘ˇ˛ˇÔˇˇˇÍˇ®ˇˇ˙ˇœˇ≤ˇ˛ˇÎˇˇıÎ΀C˛ÏØˇ‰ˇ˘ˇˇˇˇˇˇˇÍ•ˇ˙ˇœˇªˇ˘ˇ˛ˇˇÏˇˇıÎÏ€.˛ÎØˇƒˇˇˇÍˇ®ˇˇ˙ˇœˇóˇˇıÎ΀.˛ÎØˇƒˇˇˇÍˇ®ˇˇ˙ˇœˇóˇˇıÏ΀.˛ÏØˇƒˇˇˇÍˇ®ˇˇ˙ˇœˇóˇˇıÎÏ€$˛ÎØ¡ˇˇÍˇ®ˇˇ˙ˇœîˇıÏ΀.˛ÎØˇƒˇˇˇÍˇ®ˇˇ˙ˇœˇóˇˇıÎ΀6˛ÏØˇƒˇˇˇÍˇ‹˛ˇ˝ˇ’ˇˇ˙ˇœˇóˇˇıÎÏ€2˛ÎØˇƒˇˇˡ€ˇ¸ˇ’ˇˇ˙ˇœˇóˇˇıÎ΀=˛ÎØˇƒˇˇÿˇ€ˇ˝ ˇˇˇˇ˛ˇˇˇflˇˇ˙ˇœˇóˇˇıÏ΀9˛ÏØˇƒˇˇÿˇ€ˇ¸ˇˇˇ¸ˇfiˇˇ˙ˇœˇóˇˇıÎÏ€:˛ÎØˇƒˇˇÿˇ‹˝ˇ˛ˇ˛ˇ˛ˇfiˇˇ˙ˇœˇóˇˇıÏ΀*˛ÎØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÎ΀*˛ÏØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÎÏ€%˛ÎØˇƒˇˇÿ•ˇ˙ˇœˇóˇˇıÎ΀*˛ÎØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÏ΀*˛ÏØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÎÏ€*˛ÎØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÏ΀*˛ÎØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÎ΀*˛ÏØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÎÏ€*˛ÎØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÎ΀*˛ÎØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÏ΀*˛ÏØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÎÏ€*˛ÎØˇƒˇˇÿˇ®ˇˇ˙ˇœˇóˇˇıÏ΀+˛ÎØˇƒˇˇÿˇ®ˇˇ˚ˇˇœˇóˇˇıÎ΀*˛ÏØˇƒˇˇÿˇ®ˇˇ˚ˇŒˇóˇˇıÎÏ€+˛ÎØˇƒˇˇÿˇ®ˇˇ¸ˇˇŒˇóˇˇıÎ΀!˛ÎØˇƒˇˇÿüˇÕˇóˇˇıÏ΀˛ÏØ¡ˇ◊¶ˇ«îˇıÎÏ€˛ÎƬˇÅ¡ïˇıÏ΀˛ÎÅÅÅ∑Î΀˛ÏÅÅÅ˚˛ˇ¿ÎÏ€˛Îì˙ˇè˚ˇÅÈˇˇflˇˇ¡Î΀*˛Îìˇ‡‡fl‡‡ˇèˇ‡fl‡‡ˇÅ͡ˇ˛‡ˇˇ¬Ï΀'˛Ïìˇ¸‡ˇèˇ˝‡ˇÅΡˇ¸‡ˇˇ√ÎÏ€-˛Îìˇ‡‡fl‡‡ˇèˇ‡fl‡‡ˇÅÏ˛ˇfl˛‡fl‡ˇˇƒÏ΀*˛Îìˇfl˛‡flˇèˇ˛‡flˇÅ͡‡‡fl‡˝ˇƒÎ΀%˛Ïìˇ¸‡ˇèˇ˝‡ˇÅ͡˝‡ˇ¡ÎÏ€)˛Îìˇfl˛‡flˇèˇ˛‡flˇÅ͡‡‡fl‡ˇ¡Î΀)˛Îìˇ‡‡fl‡‡ˇèˇ‡fl‡‡ˇÅ͡fl˛‡ˇ¡Ï΀%˛Ïìˇ¸‡ˇèˇ˝‡ˇÅ͡˝‡ˇ¡ÎÏ€)˛Îìˇ‡‡fl‡‡ˇèˇ‡fl‡‡ˇÅ͡fl˛‡ˇ¡Ï΀)˛Îìˇfl˛‡flˇèˇ˛‡flˇÅ͡‡‡fl‡ˇ¡Î΀&˛Ïìˇˇ˝‡ˇèˇ˝‡ˇÅ͡˝‡ˇ¡ÎÏ€)˛Îíˇ˛‡flˇèˇ˛‡flˇÅΡˇ‡‡flˇˇ¡Î΀$˛Îíˇ‡fl‡‡çˇ‡fl‡‡ÅˇÈˇ‡fl‡‡ˇ¿Ï΀˛ÏíˇˇÅ‡Å‡Í‡ˇ¿ÎÏ€òň@ĈHHgÆP5€Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7079. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7080. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7081.  
  7082.  
  7083.  ˛êêê@ĈS'ì''˛Îëˇfl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl‡ˇˇ¿Ï΀&˛Î롡‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡ˇøÎ΀˛Ïê˛ˇÅ‡Å‡Ò‡˝ˇøÎÏ€˛Î齡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl˛‡fl‡‡˛ˇºÎ΀˛ÎãÅˇÅˇÙˇ∫Ï΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Ï΀˛ÎÅüˇˇ¸ˇÅ£Î΀˛ÏÅüˇ˘ˇÅ£ÎÏ€#˛ÎÅüˇ˝ˇˇ˝ˇˇˇÅ¨Î΀#˛ÎÅü ˇˇˇˇˇˇ˝ˇˇÅ´Ï΀#˛ÏÅü ˇˇˇˇˇˇˇ˝ˇÅ´ÎÏ€ ˛ÎÅü¸ˇˇˇ˝ˇˇÅ´Ï΀˛ÎÅÅÅ∑Î΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Î΀˛ÎÅÅÅ∑Ï΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Ï΀˛ÎÅÅÅ∑Î΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Î΀˛ÎÅÅÅ∑Ï΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Ï΀˛ÎÅÅÅ∑Î΀˛ÏÅÅÅ∑ÎÏ€˛ÎÅÅÅ∑Î΀˛ÎÅÅÅ∑Ï΀˛ÏÅÅÅ∑ÎÏ€—˛˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ΀–˝Ï˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛Î€ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅã*θˇ¸ˇ˝˛ˇˇ˛˛ˇ˘˛ˇ¯ˇˇ¸ˇˇÅÅÅŸ5͡˛ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇ˘ˇ¯ˇˇˇˇÅÅÅ◊òňÄúˆHHgÆT5‹Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7084. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7085. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7086.  
  7087.  
  7088.  ˛êêêÄúˆì'Ø'.͡˛ˇˇ˛ˇˇ˝˛ˇ˝˛˘ˇıˇ˛ÅÅÅ’.Ρ˛ˇˇ˛ˇˇ˙ˇ˝ˇ˙ˇıˇ˛ˇÅÅÅ◊,νˇ˛˝ˇˇ˙ˇ¸ˇ˙ˇ˜ˇˇˇ˛ˇÅÅÅÿ5Ρ˚ˇ¸˛˙˛˝ˇ˛ˇˇ˛ˇ˝ˇ˛ˇ¸ˇˇ˛ˇÅÅÅÿ*Ïˇ˚ˇ˚ˇ˙ˇ˝ˇ˙ˇÙˇˇ˛ˇÅÅÅÿ5Ïˇ˚ˇ˚ˇ˛ˇ˛ˇ˛ˇ˘ˇ˝ˇ˝    ˇˇˇˇÅÅÅ◊2Ìˇ˛ˇ˝ˇˇ˛˚ˇ˛ˇ¸ˇ˛ˇ˘ˇˇ˛˛ˇ˚ˇˇ˝˛ˇÅÅÅ÷ÅÅÅãÅÅÅãÅÅÅã.Î˚ˇˇ‰ˇˇ˙˛ˇ˜˛ˇˇÏˇˇ⁄ˇÏˇˇÅÅ»(͡˛ˇ·ˇ˚ˇ˛ˇ˘ˇ˛ˇúˇˇÅÅ»*͡›ˇ˜ˇ˙ˇ˝ˇÓˇ–ˇ‚ˇ⁄ˇÅÅӰΡ˛ˇˇˇ˝ˇˇˇˇˇˇˇˇˇ˘ˇ˜ˇ˘ˇ˚ˇˇˇˇˇ˝ˇˇ˘ˇˇˇ˛˝ˇ¸
  7089. ˇˇˇˇˇˇˇ˝ˇ˝ˇˇˇˇˇ˙ˇ¸˛ˇˇˇ˙ˇˇˇ˝˝ˇ    ˇˇˇˇˇ˝ˇˇˇˇˇˇ˝ˇˇˇˇˇ˝ˇÅÅԱνˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇ˙ˇ¯ˇ˘ˇ˘ˇ˛ ˇˇˇˇˇ˛
  7090. ˇˇˇˇˇ˙ˇˇˇˇˇˇˇˇˇ˝ˇˇˇ˚ˇˇˇ¸ˇˇ˚ˇˇ˛ˇˇˇˇ˛ˇˇˇˇˇˇˇˇÅÅÌ∫Î ˇˇˇ˛ˇ˛ ˇˇˇ˛ˇ˘˛ˇ˛ˇ˛ˇ¯ˇ˘    ˛ˇˇˇ˛ˇ˛ˇˇˇˇˇ˚ˇ˛
  7091. ˇ˛ˇˇ˛ˇ˛ˇˇ˝ˇˇ˙ˇ˛ˇ˝˛˛˛¸ˇ˛ˇˇ˛ˇˇˇ˛ˇˇ˛ˇˇ˛ˇˇÅÅÌ´Ïˇ˚ˇ˛ˇˇ˛ˇˇˇ˛˛ˇ˘ˇ˘ˇ˜ˇ˙ˇ˛˛ˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇ˙ ˇˇˇˇˇ˛ˇˇ˛ˇˇ˝ˇ˝ˇ˚ˇˇˇ¸ˇˇ˚ˇˇ˛ˇˇ˛ˇˇ˛ˇˇˇ˛ˇˇˇˇÅÅÏ¡Ïˇ¸ˇˇˇ˝ˇˇˇˇ˛ˇ˛ˇ˚ˇ˙ˇ˝ˇ˚ˇ˛ˇ˛ˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˙ˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇ˝ˇˇˇˇ˛ˇˇˇ˝ˇˇ˛ˇˇˇˇ˝    ˇˇˇˇˇ˛    ˇˇˇˇˇˇÅÅÓ¥Ìˇ˛ˇ¸ˇ˛ˇˇ˛˝ˇˇ˛ˇ˝ˇ˛ˇ˚˛ˇˇ˚˛ˇ˛ˇ˘ˇˇ˛˝ˇ˝ˇˇ˛˛˛ˇˇˇ˛ˇˇˇ˛ˇ˙    ˇ˛ˇˇ˛˛ˇ˛˝ˇˇ˛ˇ¸˛ˇˇ˛˚ˇ˛ˇ˛ˇ¸ˇ˛ˇ¸˛ˇ˝˛ˇˇ˛ˇ˛    ˇˇˇˇ˛ˇˇ˛ˇ˛ÅÅÌ&„ˇ˛ˇ≥ˇ˛ˇÒˇ–ˇıˇ˛ˇÅÅ’(„ˇ˛ˇ≥ˇ˛ˇÒˇ“ˇˇıˇ˛ˇÅÅ’#‚˛ˇˇ±ˇ˛ˇÒˇˇ˛”ˇ˛Ûˇ˛ˇÅÅ‘5βˇÍˇˇˇ‰¸ˇÊ¸ˇ˛˛ˇˇ¸˛ˇˇ‚˛ˇˇ˘ˇˇÅÅ—:͡ˡ—ˇ˛ˇÊˇ˛ˇˇ˛ˇ¸ˇ˛ˇ‚ˇ˛ˇ˘ˇˇÅÅ—K͡˘ˇÒ˛ÙˇÏ˛ıˇ˛ˇÊˇ˛ˇˇ˝ˇ¸ˇ˛ˇıˇÔˇ˛ˇ˘ˇ˛ˇÅÅ”≤Ρˇˇˇ˝ˇˇˇ˛ˇˇ˝˛ˇˇˇˇ˛ˇˇ˝ˇ ˇˇˇˇˇˇˇ¸˝ˇˇˇ˙ˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇˆˇ˛ˇˇˇ˛ˇ˝ˇ ˇˇˇˇˇˇˇ˚ˇ¸ˇˇ˛˘ˇˇˇˇˇˇˇˇˇ˛ˇˇÅÅÍ∑Î ˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇ˝ ˇˇˇˇˇ¸ˇˇˇ˚˝ˇ˛ˇˇˇˇˇˇˇˇ¸˝ˇˇÙˇ˛ˇˇˇˇˇˇˇˇˇˇ˚ˇ˛ˇˇ˛ˇˇˇˇˇˇˇˇ˝ˇˇÅÅÎ∂Î ˇˇˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇ¸ˇ˛ˇˇ˛ˇ˛ˇ¸ˇˇ˛ˇ˚ˇ¸˛˛˛ˇˇ˛ˇˇ˛¸ˇ˝ˇÛˇˇ˛ˇ˝ˇˇ˛˛˛ˇˇ˙ˇ˛˛˛ˇ˛
  7092. ˇˇˇˇˇ˛ˇ˛˛˛ˇÅÅÍò@@ˆ@ˆØ'ÔíB)$Ñ(§ Å◊ ÇD¢N$ÑQ$Zí›ñ¬IeïI%@Å#d`Ç DiX§§R%lñ›ôAÜöb6&    Å¿¬C°¡¿∏N'$Àå"Hj›
  7093. Ó@˝@⁄ ÔIJ@⁄ Ô˝Ä⁄†˛:IJ˛>‘@˛DIJÄ"‘    @D ˛ÄB‘2Ôe∞ «˘&ÿ¿3$À"@‘$íH"I)! I%$<Ä‘˛íÖ"H
  7094. $IQ"@â*D Ä‘îIƒêä$ãRCÄ âkà@Ä‘ç+îäD≠í¬  ë≤(@à‘    ƒ‰ôqÑI
  7095. A»pa!»‡p‘˛˝˛Œ˛P˝(˛Œ
  7096. ˛`˝0 !˛3ÄÄF8fl˚ ƒ@¸˛Ä…D˝fl˙@˛ÅQH˛Äfl#66ÿ`ÊÛ%¿áÜ;=ΔK`máQ0xc≥‹aº·#»I$ë"§ÄJ!IíBI$êíI°P$ëI$$íR·#Hâ% ÑIä"Q$ëRE!Q¢à%IE$í·#íI¿Dé˛$Q) Ç“I¡$í‚àEíI«"·#ñK)(ÄHDíIjCdÀ,≤Å$êI$ñ§Kd·#jL·«Á èá 9ìÇC4‡‘Õ`p√ô84„∏·ııĸ@·ııĸ@·ıˆ¿¸‡·¡¡¡¡¡¡¡¡¡¡¡¡˛¿¿†¸œ˛¿@@¸œ@@@˛Äœ^xÜ[<À⁄¿Ü–I$â    $íI%J–…$í$íIIP–QEI"ír$ê–RIQIdñΔ$≤–¸pé I∏i:tÃÄ—˛ Ä˝@Œ˛ Ä˝@Œ ˛q¿˝‡À∏˛`‡˝∞“H˛!@˚ê“P˛!@˝Äê@’7&¿Rôkè;€`    ,ùÏo≤¿◊I% R§ÑäRI$Ä    $§êíI÷˛íâ) TƒÑíR!DÄ    $êëâ÷§ëj@ïE    åII    !$ä÷•ï≤PâI    d®JÀŸea-í÷&i"aÀ±    ú‹q59&∏†“b÷    ˆ"–ò@@Ĉ@ĈÔ'/    ˆ"–ˆÕ ‡¬Œ " ŒB
  7097. @—&ê@0¿∑ÑcÏ∞“È$êÄI BÑ®í@“$êéí@>B$â@¢@“H†Ñ„Ä"Ñ%A"Ä“1Z`àä BÖ……dÄ“Œ$@xq»ÁÇ0òÄ“    ¸@ 
  7098. ˝Ä ˝Δ ϸà $¸$"Ã
  7099. $@Ã
  7100. Iì˝õÊXÃ
  7101. Hî¢$â 0Ã
  7102. Hí"Dë Ã
  7103. ë!DI@ Ã
  7104. µ,‘KR@êBÃ
  7105. H◊$4å@b|á¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆ/'K¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHgÆP5›Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7106. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7107. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7108.  
  7109.  
  7110.  ˛êêê@ˆØ'Ô'∏Ï ˇˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇ˝ˇ˝ˇˇ˛ˇˇˇ¸ˇˇ˛ˇ¸ˇ˚ˇ˛    ˇˇˇˇˇ˛ˇˇ¸ˇ¸ˇ˜ˇ˛ˇˇˇ˛ˇˇ˛ˇ˛ˇˇˇ˝ˇ˛ˇˇ˛ˇˇˇ˛
  7111. ˇˇˇˇˇˇˇ˝˛ˇÅÅÈ≈Ï ˇˇˇˇˇˇˇ˝)ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇˇ˚ˇ˚ˇˇ˛ˇˇˇˇˇ˛ˇˇ¸ˇ¸ˇ˛ˇ˚ˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛
  7112. ˇˇˇˇˇˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇÅÅÎπÌ
  7113. ˇ˛ˇˇˇˇˇ˛¸ˇˇ˝
  7114. ˛ˇˇˇˇˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇ˛ˇ¸ˇˇˇ˚ˇˇ˛˚ˇ˛˝ˇ˛˝˛ˇˇ˝ˇˇ˛¸ˇˇ˛˚ˇ˛ˇ˝˛ˇ˛ˇ˛ˇ˛ˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇ˛˝ˇ˛ˇ˛ˇ˝˛ˇˇˇ¸ˇ˛ˇÅÅÍÅˡ⁄ˇÅÅÕÅΡˇ€ˇˇÅÅÕÅΡ˛⁄˛ˇÅÅÃ(βˇˇ‚˛ˇˇ˘ˇˇfl¸ˇÁ¸ˇ˝˛ˇˇÅÅ£3Ïˇ˛ˇ‚ˇ˛ˇ˘ˇˇfiˇ˛ˇÁˇ˛ˇˇ˛ˇÅÅ¢8Ï˛˛˛ıˇÔ˛˛˛˘ˇ˛ˇ‡ˇ˛ˇÁˇ˛ˇ˛˝ˇÅÅ¢sΡ˛ˇˇˇ˛ˇ˝ˇ ˇˇˇˇˇˇˇ˚ˇ¸ˇˇ˛˘ˇˇˇˇˇˇˇˇˇ˛ˇˇ¯ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇÅÅùu͡˛ˇˇˇˇˇˇˇˇˇˇ˚ˇ˛ˇˇ˛ˇˇˇˇˇˇˇˇ˝ˇˇ˘˝ˇˇˇˇˇˇˇˇˇ˝˝ˇˇÅÅúsÈˇ˛ˇˇ˝ˇ˛ˇ˛ˇˇˇ˙ˇˇ˛ˇˇ˛
  7115. ˇˇ˛ˇ˛˛˛ˇ˛ˇˇ¯˛˝ˇ˛
  7116. ˇ˛ˇˇˇˇ˛ˇ˝ˇ¸ˇÅÅútÌˇ˛ˇˇˇ˛ˇˇ˛ˇ˛ˇˇˇ˝ˇ˛ˇˇ˛ˇˇˇ˛
  7117. ˇˇˇˇˇˇˇ˝˛ˇ¯ˇ¸ˇ˛    ˇˇˇˇˇ˛ˇ˛ˇ˝ˇ˚ˇÅÅúÌˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛
  7118. ˇˇˇˇˇˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇ˙ˇ¸ˇˇ˛ˇˇˇˇˇ˛ˇˇ˝ˇ˚ˇ˛ˇÅņ}Óˇ˛ˇˇ˝ˇˇˇ˛˛˛ˇ˛ˇ˛ˇˇˇˇ˛ˇˇ˛ˇˇ˝˛˛˛ˇˇ˝ˇ˛ˇ˛¸ˇˇ˛ˇ˝˛ˇˇ¸˛ˇ˝ˇˇ˝ˇˇ˛ˇ˛ˇ˛ˇ˚˛ˇˇÅÅü¡⁄ˇ‚ˇÅÅÅˡˇ€ˇˇ„ˇÅÅÅÔˡˇ⁄ˇ˛ÅÅÅœCÎ˚ˇflˇÎˇ˝ˇˇ˛ˇÔˇÊˇ¸ˇˇÈˇˇ˘ˇ˛ˇˇ˛˛ˇÔˇÏˇˇÅÅ˙<͡˛ˇ…ˇˇˇˇ˛ˇ˛ˇÕˇËˇ˙    ˇˇˇˇˇ˛ˇŸˇÅÅ˙;͡Δˇ˛ˇ¯˛ÁˇËˇËˇ˚ˇ˛ˇ˛ˇ˛ˇÊˇÙˇÅÅ˙¿Îˇ˛ˇˇˇˇ˛
  7119. ˇˇˇˇˇˇˇˇ˝ˇˇ¸˛ˇˇˇ˝ˇˇˇ˛ˇ˚ˇˇ˛ˇ˚ˇ˝˝ˇ˝ˇˇ˛˛ˇˇˇ˝ˇ˛ˇ˛
  7120. ˇˇˇˇˇˇ˛˛ˇ˛ˇˇ˚ˇˇˇˇˇˇ˝˛ˇ˚ˇˇˇ˛ˇˇˇ¸˝ˇ˝ˇˇ˛˛ˇˇˇ˝ˇ˛ˇ¸˛ˇ˛ˇˇ˝ˇˇ˝ˇÅâ€Î˝ˇˇ˝ˇˇˇˇˇˇˇ˛ˇˇ˛
  7121. ˇˇˇˇˇ˘ˇˇˇ˛ˇ˝ˇ˚    ˇˇˇˇ˛ˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇ¸ˇˇˇ˝ˇˇˇ˚    ˇˇˇˇ˛ˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇÅä€Îˇˇˇ˛ˇ˛ˇ˛ˇˇ˛ˇ¸ˇ˝ˇ˛ˇˇ˛˘ˇ˛ˇˇ˛ˇ˛ˇ˙ˇˇ˛˛ ˛ˇˇˇ˛˛˛˚ ˇˇ˛ˇˇ˛ˇ˛ˇ˝˛˛˛ˇˇ˛˛˛˝ˇ˛ˇˇ˛ˇˇ˛ˇ¸ˇˇ˛˛ ˛ˇˇˇ˛˛˛¸ˇ˛ˇ˛ˇˇˇ˛ˇÅä¬Ïˇ¸ˇ˝ˇˇˇˇˇ˛ˇ˙ˇ˛ˇˇ˛˛ˇ¯˙ˇ˛ˇˇ˙ˇ˛ˇˇ˛ ˇˇˇˇˇ¸ˇ¸ˇˇˇˇˇˇˇ˛ˇ¸ˇˇˇˇˇˇ¸˙ˇ˛ˇˇ˛ˇ˝ˇ˛ˇˇ˛ ˇˇˇˇˇ¸ˇ˝ˇˇ˛ˇ˛˛ˇˇ˛ˇÅäflÏˇ¸ˇ˝ˇˇˇˇˇˇˇˇ˛ˇ˛
  7122. ˇˇˇˇˇˇ˛ˇ˜    ˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇ˚ ˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇˇ˛ˇˇ˛ˇˇˇÅâÃÌˇ˛ˇ˝ˇ¸˛ˇˇˇ˛ˇ˛ˇ˛ˇ˝ˇˇ˛˛˛˛ˇ    ˛ˇ˛ˇˇˇ˘ˇ˛ˇˇ˛ˇ˛˛ˇ˝˛ˇˇ˝ˇ˛˝˛ˇˇˇˇ˛ˇ¸ˇ˛˝ ˇˇˇˇ˛ˇ˛ˇ¸ˇ˛ˇ˛ˇ˛ˇ˛ˇ˙ˇ˛ˇˇ˝˛ˇ˚˛ˇˇ˝ˇ˛˝˛ˇˇˇˇ˛ˇ¸ˇˇ˛ˇ˛ˇ˛˛ˇ˛ˇÅàùˇûˇ—ˇÅÖùˇûˇ—ˇÅÖû˛ˇˇ†˛ˇˇ”˛ˇÅÜÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÈˇˇÛˇˇı˛ˇˇ—˛ˇÅÅÅ˘ÈˇˇÚˇˆˇ˛ˇœˇÅÅů"͡˛Ú˛˜ˇ˝˛„ˇÓˇÅÅůVΡˇ˝ˇ˝ˇ˛ˇ˝ˇˇ¸ˇ˘ ˇˇˇˇˇˇˇ˝ˇˇˇˇ˝ˇˇˇˇˇˇ¯ˇˇˇˇ˝ˇˇÅÅÇ]Ρˇˇˇˇˇˇ˛ˇˇ˛ˇ˘#ˇˇˇˇˇˇˇˇˇˇˇˇˇˆ ˇˇˇˇˇÅÅÇ]Ïˇˇ˛ˇˇˇ˛ˇˇˇ˛ˇ˝˛˙˛˛ ˛ˇˇˇ˛ˇˇˇ˛ˇˇ˛ˆ˛ˇˇ˛ÅÅŎZÏˇ˛ˇˇ˛ˇˇ˛ˇˇ˛˛ˇ¸ˇ˙ˇ˛ ˇˇˇˇˇ˛
  7123. ˇˇˇˇ˛ˇˇˆ    ˇˇˇˇÅÅŎcÌˇ˝ˇˇˇˇˇˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˆ ˇˇˇˇˇˇÅÅÇeÓˇˇ˛ˇ˛˛ˇ˛˛˛ˇˇ˝ˇ˛ˇ˛ˇ¸ˇ˛ˇ¸ˇ˛˛˛ˇˇˇ˛ˇ˝˛ˇˇˇ˛ˇˇ¸ˇ˝˛ˇˇ˛ˇ˛ˇ˛ˇÅÅÑÁˇ¸ˇŸˇÁˇÅÅÅÁˇ¸ˇŸˇËˇÅÅÅÔˡˇ˛˛˛ˇˇ€˛ˇÅÅÅ÷#βˇ˛ˇÂˇˇ¸˛ˇˇ⁄¸ˇˇˇÅÅè%Ïˇ˛ˇˇ‰ˇ˝ˇˇΔˇˇˇÅÅè0Ï˛˛˛ˇ„ˇ˝ˇ˛€ˇÌ˛ˇˇÙ˛ÙˇÅÅ´àΡ˝˛ˇ˝ˇˇ˛ˇ    ˇˇˇˇˇ˙ˇˇˇˇˇˇˇˇˇˇˇˇ˛˛ˇˇˇ˛˝ˇ˛ˇ˝ˇˇˇˇˇˇˇ¯ˇˇˇˇˇˇ˛ˇ˝ˇˇˇ˛ˇˇ¸ˇˇˇˇˇˇÅŵç͡˛ˇˇˇˇˇˇˇˇˇ˚ˇˇˇˇˇˇˇ˝ˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇˆˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇÅÅ≥ãÈˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇ˚ˇ˛ˇˇˇ˛ˇˇ˝ˇˇ˛ˇˇ˛ˇ˛ˇ˝˛ˇ˛ˇˇˆˇ˛ˇˇˇ˛˝ˇ˛˛˛˛˛ˇˇ˛ˇ˛ÅÅ≥åÌˇ˛ ˇˇˇˇˇ˛
  7124. ˇˇˇˇˇˇ˚    ˇˇˇˇˇ˛ˇˇ˝ˇˇ˛ˇˇˇ˛ˇˇ¸ ˇˇˇˇˇˆ ˇˇˇˇˇ˝ˇˇˇ˝    ˇˇˇˇ˛ˇˇÅÅ≤êÌˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ ˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˆˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇÅÅ≤îÓˇ˛ˇˇˇ˛ˇ˛ˇˇˇˇ˛ˇ˛ˇ˝ˇˇ˛ˇ˛ˇˇˇ˛ˇ˝ˇˇˇˇˇ˛ˇ˛ˇˇ˛˛˛ˇˇ˛ˇˇˇ˛ˇ¸˛˝˛ˇ ˇˇ˛ˇˇ˛ˇ˛ˇˇ¸
  7125. ˇ˛ˇˇ˛ˇ˛ˇÅÅ≤ߡ˛ˇÎˇÅÅÅòň@ĈHHgÆT5fiIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7126. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7127. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7128.  
  7129.  
  7130.  ˛êêê@ĈÔ'/'ߡ˛ˇÏˇÅÅŶ˛ˇˇÅÅÅȠθˇÈ˛ˇˇÏˇˇÛ¸ˇ˝ˇÅÅÅÚ%͡˛ˇÎˇ˛ˇÎˇˇÚˇ˛ˇÅÅÅÓ3͡˛ˇ˙ˇˇ˜˛˝ˇÏˇˇ˘ˇ˚ˇ˝ˇÏ˛ÅÅÖ^Ρ˛ˇˇˇ˘ˇˇ¸ˇ˘ˇˇ˝ˇˇ¯    ˇˇˇˇˇ˝ˇ˝ˇ¸ˇ˛ˇˇˇ˛ˇˇ˛ˇˇ˝ˇˇˇˇˇˇÅÅè`θˇˇˇˇˇˇˇ˝ˇ˘    ˇˇˇˇ˘ˇˇˇ˝ˇ˚ˇ¸ˇˇˇ˝ˇˇˇˇ˛    ˇˇˇˇÅÅçeΡ˝˛ˇ˛    ˇˇˇ˛˝ˇ˛˛ˇ
  7131. ˇ˛ˇˇ˘ˇ˛˛ˇˇ˝ˇ˚ˇ˝ˇˇˇ˛ˇ˛ˇ˚ˇˇ˛ˇˇÅÅç[Ïˇ¸˛ˇ˛ˇˇ˛ˇˇ¸ˇ˝ˇ˛ˇ˛˛ˇ¯ˇ˛ˇˇ˝ˇ˚ˇ¸ˇˇˇ˝˛ˇˇ¸ˇˇ˛ˇˇÅÅåkÏˇ˝ˇˇ˛ ˇˇˇˇˇˇˇ¸ˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˚ˇ˝ˇˇ˝ˇˇ˝ˇ˛ˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇˇˇÅÅågÌˇ˛˛ˇ˛ˇ˛ˇ˛ˇ˛˛˛˙˛˛ˇ˝˛ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇ˛˛ˇ¸ˇ˝ˇˇ˛ˇˇ¸˛ˇˇ¸˛ˇˇˇˇ˝ˇˇˇ˛ˇÅÅåÿˇÁˇÅÅÅ–€ˇˇÁˇÅÅÅœ
  7132. €ˇ˛ÅÅÅ≥θˇˇˇ‘ˇˇ˚˛ˇÅÅÅ·!͡ˇˇ’ˇˇ˝ˇ˛ˇÅÅÅ‚"͡ˇ˛ÙˇÙ˛Ó˛˘ˇÅÅÅ‚;Ρˇˇˇˇˇ˘ˇˇˇˇˇ¸ˇ    ˇˇˇˇˇ˙ˇ˘ˇÅÅÅ·AΡˇˇ˛
  7133. ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇ˙ˇˇ˘ˇÅÅŇ@Ρˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇ˛ˇˇ˛˛˛ˇ¯ˇ˚˛ÅÅÅfl?Ïˇˇˇ˛ˇˇ˝ˇˇ˛ˇ˛ˇˇˇ˛ˇ˛ˇˇ˜ˇ¸ˇÅÅÅfiGÏˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇ˚ˇˇ¸ˇ˝ˇÅÅÅ‚HÌˇ˛ˇ˛ˇ˛
  7134. ˇ˛ˇ˛ˇˇˇ˛˝ˇˇ˛ˇ˛ˇ˛˛˛˙˛ˇ˛ˇ˛˛ˇ˛ÅÅÅ·ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHgÆP5flIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7135. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7136. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7137.  
  7138.  
  7139.  ˛êêêÄúˆ/'K'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆK'ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@Ĉã'À¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆÀ'Á¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHgÆT5‡Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7140. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7141. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7142.  
  7143.  
  7144.  ˛êêê@ˆK'ã'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHgÆP5·Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7145. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7146. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7147.  
  7148.  
  7149.  ˛êêê@Ĉã'À'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHgÆT5‚IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7150. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7151. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7152.  
  7153.  
  7154.  ˛êêêÄúˆÀ'Á'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãˇ"@ˇ ˇˇˇˇ@
  7155. ˇ·ˇ‚7^
  7156. 4H\, Palatino
  7157. &e.3+ä"CHAPTER à)>1,     Helvetica
  7158.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡äThe PowerPC Native Environment
  7159. , (‡1-25
  7160. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  7161. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿°dONLNd\äh±(eä    needs to ı@°dONLNd    \±hΔ)'bindú`°dONLNd
  7162. \«h—)< the imported symbols in your application to the actual addr-†°dONLNdI\“h(e“ esses, in th≈`°dONLNdU\h)/e °dONLNdWiäu»(räimport library°dONLNdei»u‹)>>, of the imported code or data. Once the loading and binding o0 °dONLNd£i‹u(r‹    f import °dONLNd¨väÇπ(ä libraries arÒ†°dONLNd∏vπÇΩ)/eª@°dONLNdπvæÇl)' complete, your application can executek@°dONLNd‡vmÇo)Ø.
  7163. êHû4ëHû
  7164.     °dONLNd‚èäöù(óäNote
  7165. ˇ·ˇ‚7^
  7166. °dONLNdÁúä®î*W°dONLNdËúî®Ω)
  7167. Ahen binding imported symbols to external code and data, the Code °dONLNd)®ä¥˙(±äFragment Manager ensurx`°dONLNd?®˙¥a)pes that the version of thfi`°dONLNdX®a¥¶)ge import library›¿°dONLNdh®ߥ©)F °dONLNdj¥ä¿Â(Ωäused at link time to r‚`°dONLNdĥ¿µ)[/esolve external symbols is compatible with the °dONLNdØ¿äÃ…(…äFversion used at fragment loading time. See the chapter “Code Fragment °dONLNdıÃäÿ¶* AManager” in this book for a description of this version-checking °dONLNd6ÿ䉵*
  7168. capabilityˇ°dONLNd@ÿ¥‰W)*'. In general, this all happens transpar©Ä°dONLNdgÿX‰«)§ently to your application °dONLNdʼnäΔ(Ìäor other code.,
  7169.  
  7170. Zapf Dingbats
  7171. x¿°dONLNdêÁÃÔ“)Bu
  7172. °dONLNdíıäç(˛äIfiİdONLNdìıçó)t’s% °dONLNdñıòı) P possible to designate some of the imports in your application (or other softwarZ°dONLNdÊıı (˛ıe) as °dONLNdÏäü( äsoft. j`°dONLNdÚü¶)A•°dONLNdÛ¶®) %°dONLNdÙ©≠)sï@°dONLNdı≠ÿ)    oft impor°‡°dONLNd˛ÿ€)+tı¿°dONLNdˇ€‡) i^ °dONLNd·t)s an imported symbol whose corr`°dONLNd u
  7173. )î!esponding code or data might not °dONLNdAä»(äHbe available in any import library on the host machine and which is ther‹†°dONLNd⻟(»efor4†°dONLNdç⁄˛)e undefiH‡°dONLNdï˛)$ned °dONLNdôä(ò(%äat r!°dONLNdùô(t)1un time. For example, a particular system softwars@°dONLNdŒt(Û)€e component such as QuickT>†°dONLNdËÛ()ime °dONLNdÏ)ä5i(2ä1might not be available on all Macintosh computersf °dONLNd)j5o)‡. ¿°dONLNd)o5à)As a r—°dONLNd%)à5®)    esult, ifE¿°dONLNd.)©5Ò)! you call QuickTq`°dONLNd>)Ò5)Hime °dONLNdB6äBç(?ärE°dONLNdC6éB)Soutines, you should mark all those imports as soft. When the Code Fragment Manager °dONLNdñCäO¡(Lä loads and pr͇°dONLNd¢C¡O‘)7epar{†°dONLNd¶C’O;)es your application, it rß@°dONLNdøC;Ofl)f&esolves the soft imports if the QuickT˝@°dONLNdÂCflO    )§    ime code °dONLNdÓPä\º(Yä and data arê@°dONLNd˘Pº\*)2e available. If the QuickTy °dONLNdP*\Ü)nime code and data ar⁄İdONLNd'PÜ\ä)\e§ °dONLNd(Pã\ñ)n’t °dONLNd+Pó\)  available, the Code ˇˇ…,.°dONLNd@]äi(fäFragment Manager inserts €Ñ°dONLNdY]i )van §∞°dONLNd\]
  7174. iG)
  7175. invalid addr@<°dONLNdh]HiQ);es@<°dONLNdj]Qi|)        s (namelyÌ®°dONLNds]{i)*, ,
  7176. Courierˇˇ[Ñ∂‘°dONLNdu]Äi)kUnresolvedSymbolAddressˇˇ…,∂‘°dONLNdç]i)ê) .°dONLNdèjäv⁄(säinto your fragmen4†°dONLNd†j€vÂ)Qt’s{@°dONLNd£jÂv/)
  7177.  table of contentsTİdONLNdµj0vè)K entry for any QuickT/°dONLNd jèv•)_ime r˙°dONLNdœj•v)outines or data items.
  7178. ÑHí4ÖHí
  7179. °dONLNdÊÑvé~(åvs
  7180. °dONLNdÁÖäçì(ãäWúİdONLNdËÖìçæ)    ARNING
  7181. ˇ·ˇ‚7^
  7182. °dONLNdÔêäúê(ôäY@İdONLNdêêúŸ)ou should alway¿°dONLNdˇê⁄ú)Js check to see t,‡°dONLNdêú~)Ahat any imports declar  °dONLNd%ê~ú∑)ced as soft by °dONLNd3úä®√(•ä your softwarc °dONLNd?ú√®€)9e werí`°dONLNdDú€®)e successfully rD °dONLNdTú®v)Cesolved at load time8†°dONLNdhúw®Ç)Y. Ts`°dONLNdkúÅ®ƒ)
  7183. rying to access °dONLNd{®ä¥«(±äcode or data rV`°dONLNd⮫¥◊)=eferİdONLNdç®ÿ¥)enced by an unr¯¿°dONLNdú®¥º)F$esolved soft import will cause your °dONLNd¿¥ä¿´(Ωäsoftwar‰¿°dONLNd«¥´¿◊)! e to crash.
  7184. WİdONLNd”∑›ø‰)2s
  7185. .°dONLNd’≈ä—ˆ(ŒäFor most system softwarR`°dONLNdÏ≈ˆ—k)le services, you can use the R`°dONLNd≈k—ï)uGestaltR`°dONLNd≈ï—)* function to determine if the .°dONLNd-“äfiR(€ä/necessary code or data is available in the curr~ °dONLNd\“Rfi¶)»ent operating envir    @°dONLNdo“ßfi )Uonment. Note that this °dONLNdÜfläÎ≈(Ëäis not a new r†°dONLNdîfl≈΋);equir¸‡°dONLNdôfl‹ÎÎ);ement and should not cause you to change your existing sourJ†°dONLNd‘flÏΘ(ËÏce .°dONLNdÿÏä¯(ıäcode; existing 680x0 softwarR`°dONLNdÙϯX)}e should also call R`°dONLNdÏX¯Ç)QGestaltR`°dONLNdÏǯ¶)*     to ensur$¿°dONLNd϶¯)$e that needed system ˇˇaÚ°dONLNd,˘ä≠(äsoftwarR`°dONLNd3˘≠‚)#
  7186. e services ar˧°dONLNd@˘‚)5 e available.Jñ°dONLNdL˘D)8     When no ˇ˛%÷pl°dONLNdU˘Dn)*GestaltˇˇaÚpl°dONLNd\˘n)*+ selector exists to test for the existence .°dONLNdáäŒ(äof a particular r@°dONLNdòœà)E*outine or data item, you can check for unr¿°dONLNd¬àÒ)πesolved soft imports by .°dONLNd⁄ä„(äcomparing the addrR`°dONLNdÏ„;)Yess of the import to R`°dONLNd    ;À)XkUnresolvedSymbolAddressR`°dONLNd    ÀŒ)ê.R`°dONLNd    Œ–) R`°dONLNd    –) Listing 1-4R`°dONLNd    &)0 .°dONLNd    ' ä,¯()äillustrates this technique.
  7187. OHW4PHW"PH_
  7188. ˇ·ˇ‚7^
  7189.     °dONLNd    CEäP∂*$ Listing 1-4°dONLNd    OEŒP”)DT°dONLNd    PE”PW)"esting for unresolved soft imports
  7190. .°dONLNd    t_äkJ(hä extern int printf (char *, ...);°dONLNd    ïmäyú*...°dONLNd    ô{äáfi*if (printf == °dONLNd    ß{fián)TkUnresolvedSymbolAddress°dONLNd    ø{nát)ê)°dONLNd    ¬âúïÄ(íú&DebugStr("\printf is not available.");°dONLNd    Èó䣢(†äelse°dONLNd    Ô•ú±8+printf("Hello, world!\n");ˇ ∏@ˇ ˇˇˇˇ@
  7191. ˇ·ˇ‚7^
  7192. 4*\¯, Palatino
  7193. &e.3+l"CHAPTER à)>1,     Helvetica
  7194.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  7195. (‡*1-26
  7196.     )BThe PowerPC Native Environment4^*¿¯
  7197. °dONLNd\lhR(el4See the description of the MakePEF tool in the book Ȇ°dONLNd4\RhÇ)Ê Building PrÀ °dONLNd?\ÇhÊ)0ograms for Macintosh W`°dONLNdU\ÁhÙ)eith °dONLNdYiluí(rlPowerPC“†°dONLNd`iíuq)&5 for exact details on how to specify imports as soft.
  7198. ì*ö¯4î*ö¯ ïlï¯
  7199. ˇ·ˇ‚7^
  7200. °dONLNdñÜlîÑ(êlThe J¿°dONLNdöÜÑîã)TJ¿°dONLNdõÜäî·)able of Contentsˇˇˇˇˇˇ‘@(êÒ1
  7201. °dONLNd≠öl¶(£l%The imported symbols in a fragment arRİdONLNd“ö¶ä)≠e contained in a special ar˝@°dONLNdÌöä¶„)qea in the fragment’s °dONLNdßl≥‡(∞ldata section known as the _`°dONLNdß·≥N)utable of contents (TOC).√¿°dONLNd4ßN≥~)m  Prior to prİdONLNd@ß≥„)1eparation by the Code °dONLNdV¥l¿¿(ΩlFragment Managerñ‡°dONLNdf¥¿¿N)T", a table of contents contains unr˝‡°dONLNdà¥N¿v)é    esolved r3°dONLNdë¥w¿á))eferfl °dONLNdï¥á¿Ì)ences to code and data °dONLNd¨¡lÕÿ( lin some other fragment. x°dONLNdƒ¡ÿÕ˚)lAfter prÿ‡°dONLNdá˚Õ‚)#7eparation, the table of contents contains a pointer to °dONLNdŒl⁄Ü(◊leach r–@°dONLNd    ŒÜ⁄-)'outine or data item that is imported fr°dONLNd0Œ.⁄ø)®om some other fragment. This prH¿°dONLNdOŒø⁄Ê)ë    ovides a °dONLNdX€lÁ…(‰lmeans of global addrŒ‡°dONLNdl€…Á˝)] essing wherí`°dONLNdw€˛Á‘)52eby a fragment can locate the code or data it has °dONLNd©ËlÙü(Òl imported frg@°dONLNd¥ËüÙ¯)3om other fragments.
  7202. *¯4*¯
  7203.     °dONLNd»l (    lNote
  7204. ˇ·ˇ‚7^
  7205. °dONLNdÕlë*CAs you can see, the phrase “table of contents” is a slight misnomer`°dONLNdëñ(ë, °dONLNdl&í(#lEbecause a fragment’s table of contents does not supply a list of the °dONLNdW&l2Å* addr|İdONLNd[&Å2©)
  7206. esses of rU °dONLNde&©2l)(.outines or data in the fragment itself. RatherÁ °dONLNdì&k2©)¬, a fragment’s °dONLNd¢2l>3(;l0table of contents consists (in part) of the addrưdONLNd“23>´)«esses of code and data that °dONLNdÓ>lJ(Glthe fragment imports, which r!¿°dONLNd >ÒJ≠)Ö+eside in some other fragment. The table of °dONLNd6JlVØ(Slcontents is mor«¿°dONLNdEJØV)Ce akin to a personal addr9@°dONLNd^JVG)n
  7207. ess book. †@°dONLNdhJGVN)*A⁄‡°dONLNdiJNV•) fragment’s table of °dONLNd~Vlb}(_lBcontents is private to the fragment itself and exists solely to pr1†°dONLNd¿V~bô(_~ovide °dONLNdΔbln2(kl.external linkage for the code in the fragment.,
  7208.  
  7209. Zapf Dingbats
  7210. 7@°dONLNdıe8m>)Ãu
  7211. °dONLNd˜sls(|lA∫†°dONLNd¯ssÍ)X fragment’s table of contents also contains pointers to the fragment’s own static data. °dONLNdPÄlåO(âl3Because the code and data sections of a fragment arí°dONLNdÉÄOå∫)„e usually loaded into dif¿°dONLNdúĪå«)lfer‰@°dONLNdüÄΔå÷) ent °dONLNd£çlôΔ(ñllocations in memory†°dONLNd∂çΔô‚)Z?, and because they must both be position-independent, the code °dONLNdıöl¶Á(£lsection needs a method of fi憰dONLNdöÁ¶å){%nding its own data, such as data addru¿°dONLNd6öç¶”)¶essed by global °dONLNdFßl≥Ï(∞lvariables. Global variables ar£¿°dONLNddßÏ≥)Äe addrȇ°dONLNdjß≥/)    essed thrk†°dONLNdsß0≥Ÿ)('ough the fragment’s table of contents. °dONLNdö¥l¿v(ΩlWÛ`°dONLNdõ¥u¿=)    .ithin the compiled code of your application, r`°dONLNd…¥>¿N)…efer≥İdONLNdÕ¥N¿È)$ences to global variables appear as °dONLNdÒ¡lÕÅ( lindir‡°dONLNdˆ¡ÇÕî)ect rƒ °dONLNd˚¡îÕ§)eferp@°dONLNdˇ¡•Õÿ) ences via of¨Ä°dONLNd ¡ÿÕ])3!fsets into the table of contents.ˇˇÀF°dONLNd-”lflÊ(‹lUOf course, for this scheme to work, the code section of a fragment needs to know wherf°dONLNdÇ”Êfl¯(‹Êe in °dONLNdá‡l϶(Èl memory its TC¿°dONLNdì‡ßÏ);OC begins. The addrΔ°dONLNd¶‡Ï3)[ ess of the T#İdONLNd≤‡4Ï)2)OC cannot be compiled into the fragment; °dONLNd€Ìl˘∂(ˆlinstead, the addr¯`°dONLNdÏÌ∂˘Á)J ess of the TU‡°dONLNd¯Ìˢ')2OC of the currûİdONLNdÌ'˘È)?,ently executing fragment is maintained in a °dONLNd2˙lo(lrE°dONLNd3˙p¬)egister on the micrW†°dONLNdF˙¬—)Roprî@°dONLNdI˙—Ò)ocessorh`°dONLNdP˙Ò ) . Curr> °dONLNdV˙ !)entlyw@°dONLNd[˙ Ñ), the general-purpose r∂`°dONLNdr˙ј)degister GPR2 is dedicated °dONLNdål≠(lto serve as the ª`°dONLNdú≠≥)ATK °dONLNdù≥3)able of Contents Register (RİdONLNdπ3O)ÄTOC).‡°dONLNdæOß) It contains the addr|‡°dONLNd”ßı)Xess in memory of °dONLNd‰l Õ(lthe beginning of the T´†°dONLNd˙Õ  )aOC of the currÙ@°dONLNd      })?ently executing fragment.°dONLNd    "&l2%(/l*It’s easy to see how a code fragment can fi`°dONLNd    M&&2‡)∫+nd its own global data. It simply adds the °dONLNd    x3l?¨(<lcompiled-in of`°dONLNd    Ü3≠?L)A&fset of a global variable within the Tˆ‡°dONLNd    ¨3K?ç)ûOC to the addr˚İdONLNd    ∫3ç?æ)B ess of the TY°dONLNd    Δ3ø?–)2OC °dONLNd    …@lLº(Ilcontained in the R`°dONLNd    €@ºL¬)PTrİdONLNd    ‹@¬LÌ)    OC. The rf °dONLNd    Â@ÌL3)+esult is the addr‡°dONLNd    ˆ@4LO)Gess of *‡°dONLNd    ˝@OLÑ)
  7212. a pointer to í¿°dONLNd
  7213.  
  7214. @ÑL™)5    the desirø‡°dONLNd
  7215. @™LÕ)&ed data.°dONLNd
  7216. Rl^≤([lIt’s slightly mor[¿°dONLNd
  7217. -R≤^Ô)FGe complicated to see how a code fragment can execute an external piece °dONLNd
  7218. t_lkë(hl    of code. 6 °dONLNd
  7219. }_ëk√)%HAs it does with global data, the linker accesses external code via an ofr`°dONLNd
  7220. ≈_√kÈ(h√
  7221. fset into °dONLNd
  7222. œllxÇ(ulthe T–İdONLNd
  7223. ‘lÇx∫) OC. The corrúİdONLNd
  7224. ‡lªx)9esponding addrÕ@°dONLNd
  7225. Ólx2)F ess in the T °dONLNd
  7226. ˙l3xm)2 OC, however†°dONLNd lmx≤):, is not the addr# °dONLNd l≤xˆ)Eess of the piece °dONLNd 'ylÖ (Çl'of external code itself. Instead, the T뇰dONLNd Ny Ö–)ü,OC of the calling fragment contains the addrÜİdONLNd zy–ÖÚ)≈ess—in °dONLNd ÅÜlíJ(èl4the static data section of the called fragment—of a [‡°dONLNd µÜKíï)fltransition vector@°dONLNd ΔÜïíó)J,ˇ@°dONLNd «Üóí¬)  a data str;`°dONLNd “Ü√í⁄),uctur¡@°dONLNd ◊Ü⁄íı)e that °dONLNd fiìlüı(úlcontains two pointers: the addrF°dONLNd ˝ìˆü%)ä ess of the ru`°dONLNd     ì%ü¥)/ outine being called and the addrø@°dONLNd )ì¥üfl)è ess of the °dONLNd 4†l¨¿(©lcalled fragment’s T$¿°dONLNd G†¡¨ )UOC. The basic strN†°dONLNd X† ¨#)Kuctur‘İdONLNd ]†#¨Ω)%e of a transition vector is shown in ‡°dONLNd džæ¨÷)õFigur̆°dONLNd ᆒ¨È)e 1-3ã °dONLNd å†Í¨Ï).ˇ≤@ˇ ˇˇˇˇ@
  7227. ˇ·ˇ‚7^
  7228. 4H\, Palatino
  7229. &e.3+ä"CHAPTER à)>1,     Helvetica
  7230.     ˇˇ—ÚˇÆ(@ä'Introduction to PowerPC System Software4⁄ä˙(‡äThe PowerPC Native Environment
  7231. , (‡1-27
  7232. ˇˇˇˇˇˇˇˇ4^4|lòÄ^A|rMM! ġˇˇˇˇˇ^A|r^A|r$˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘˘êÄ^6|@MM! ġˇˇˇˇˇ^6|@^6|@?Ä?Ä
  7233. 4Å4w?êÄÅ6w@MM! ġˇˇˇˇˇÅ6w@Å6w@$?Ä><">""""?Ä >""">Ä""><"""?ÄÄÄ""00**,>?ÄÄÄ Ä Ä$Ä$Ä$Äò`$**"**,><<$Ä$Ä$Ä""?Ä"00** >**,4^H¿
  7234. gHw4gHw"hH]
  7235. ˇ·ˇ‚7^
  7236.     °dONLNd\äg¥(dä
  7237. Figure 1-3°dONLNd \Ãg“)BA0°dONLNd \“g) transition vector
  7238. ÃH⁄4ÃHŸ°dONLNd Àä÷ù(”äNote
  7239. ˇ·ˇ‚7^
  7240. °dONLNd%◊ä„Õ*
  7241. KStrictly speaking, a transition vector can contain any number of pointers, °dONLNdp„äÔ…* as long as ther⁄¿°dONLNd„…ÔŸ)?e arÈ`°dONLNdÉ„ŸÔ1)e at least two. The fi˛ °dONLNdô„1Ô≤)Xrst pointer is always the addr*‡°dONLNd∑„≥ÔŒ)Çess of °dONLNdæÔä˚û(¯äthe r¢`°dONLNd√Ôû˚ƒ)Doutine being called, and the second pointer is always a value to be °dONLNd˚ä_(ä1loaded into GPR2 prior to the execution of that rç@°dONLNd8˚_¥)’outine. The second °dONLNdKäÖ(ä9pointer in a transition vector can serve any purpose appr``°dONLNdÑÖ¬)˚opriate to the °dONLNdìä™(äcalled rÎ`°dONLNdõ™*) outine. In the PowerPC envir\†°dONLNd∑+√)Å onment for Macintosh computers, °dONLNd◊ä+@((ä)the second pointer is almost always the TôİdONLNd@+f)∂OC addr‡°dONLNdg+Ω)'ess of the fragment °dONLNd+ä7Ï(4äcontaining the called rƒ‡°dONLNd2+Ï76)boutine. However쇰dONLNdA+67w)J, the callee is fr¿°dONLNdS+x7±)Bee to use the ˇˇÏñ°dONLNda7äCy(@ä8second pointer in other ways, if this is deemed useful. \°dONLNdô7zCÄ)Y–‹°dONLNdö7CÕ)our development °dONLNd™CäO±(LäCsystem’s compiler ultimately determines the size and contents of a °dONLNdÌOä[“* transition vectorj†°dONLNd˛O“[‘)H.,
  7242.  
  7243. Zapf Dingbats
  7244. ͆°dONLNdRŸZfl)u
  7245. °dONLNd`älë(iäA∫†°dONLNd`ëlô) T-¿°dONLNd`öl )    OC entry for an external r¸¿°dONLNd` l±)q(outine points to a transition vector lar} °dONLNdG`≤l˜)ßgely so that the °dONLNdXmäy≠(vä    calling rN‡°dONLNdamÆyÛ)$outine can set u£°dONLNdqmÛy˚)Ep % °dONLNdsm¸y    )    an vİdONLNdvm    y)
  7246. RΔ °dONLNdwmy)Tπ@°dONLNdxmy¢)OC with the called fragment’s T`°dONLNdóm£y)éOC value. Then, when °dONLNd¨zäÜ∫(Éä the called rH¿°dONLNd∏zªÜ!)1outine exits, the caller r¿°dONLNd“z"Ü7)gestorà@°dONLNd◊z7ÜY)es the Rª‡°dONLNdflzYÜ_)"TذdONLNd‡z_Ü)*OC to its original value, pointing to the °dONLNd
  7247. áäìê(êäTs °dONLNd áêì∫)EOC of the calling fragment. This kind of function call is known as a ì °dONLNdPá∫ìˇ(ê∫cross-TOC call.˙°dONLNd_áˇì)E °dONLNd`î䆺(ùä During a crµ °dONLNdk”)2oss-TΆ°dONLNdp)IOC call, GPR12 is assumed to point to the transition vector itself; this °dONLNdπ°ä≠(™äconvention allows the called rç°dONLNd◊°≠û)Ñ!outine to access any additional fiİdONLNd˘°ü≠¸)ëelds in the transition °dONLNdÆä∫‚(∑ävector beyond the fi∑¿°dONLNd$Æ‚∫)Xrst two.
  7248. wà≥4uávàò@@ˆ@ˆvà∂~¡¡¡?◊ˇ¸Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ìò@@Ĉ@Ĉ∂àˆ~?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ìò@ÄúˆÄúˆˆà~?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ìòň@ˆHHgÆT5„IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7249. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7250. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7251.  
  7252.  
  7253.  ˛êêê@ˆvà∂~'ÅÅÅãÅÅÅãÅÅÅãeÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏ]ÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÎÏÅÈÏÅÅßÎÏÅÍÎÅÅßÎÎÅÍÎÅÅßÏÎÅÍÎÅÅßÎÎÅÍÏÅÅßÎÏÅÍÎÅÅßÏÎÅÍÏÅÅßÎÏÅÍÎÅÅßÎÎÅÍÎÅÅßÏÎÅÍÎÅÅßÎÎÅÍÏÅÅßÎÏÅÍÎÅÅßÏÎÅÍ ÏÅ¡ÌˇˇˇˇÅ‡ÎÏÅÍ ÎÅ¡Ìˇˇ˛ˇÅ‡ÎÎÅÍ@ÎŲˇˇ˛˛ˇˇˇˇˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇˇˇˇˇÅÒÏÎÅÍ?ÎÅ¡ˇˇˇˇˇˇˇˇ˛ ˇˇˇˇˇˇ˝˛ˇˇˇÅÎÎÅÍAÏÅ¡ˇˇˇˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇÅÎÏÅÍ=ÎÅ¡ˇˇˇ˛ˇˇˇˇ˛ˇˇˇˇ˛ˇˇ˛˝ˇ˛ˇÅÔÏÎÅÍÏÅ›ˇflˇÅÔÎÏÅÍÎÅ›ˇ‡ˇÅÓÎÎÅÍÎÅ›ˇÅÃÏÎÅÍÎÅóˇˇìÎÎÅÍÏâˇêˇˇìÎÏÅÍÎâˇêˇˇìÏÎÅÍÏâˇêˇˇìÎÏÅÍÎâˇêˇˇìÎÎÅÍÎâˇêˇˇìÏÎÅÍÎâˇêˇˇìÎÎÅÍÏ⸡ïÎÏÅÍÎܡˇíˇˇïÏÎÅÍÏᡡ롡ïÎÏÅÍÎáˇëˇˇîÎÎÅÍÎàˇˇí˛ˇîÏÎÅÍÎ⡡롡ìÎÎÅÍÏâˇëˇˇíÎÏÅÍÎäˇˇí˛ˇíÏÎÅÍÏãˇˇëˇˇëÎÏÅÍÎãˇëˇˇêÎÎÅÍÎåˇˇí¸ˇíÏÎÅÍÎå˝ˇêˇíÎÎÅÍÏâˇêˇˇìÎÏÅÍÎâˇêˇˇìÏÎÅÍÏâˇêˇˇìÎÏÅÍÎâˇêˇˇìÎÎÅÍÎâˇêˇˇìÏÎÅÍÎâˇêˇˇìÎÎÅÍÏâçˇÏ˙ˇØÎÏÅÍÎâˇêˇˇÊ˛ˇ±ÏÎÅÍÏâˇêˇˇ‰ˇ±ÎÏÅÍÎâˇêˇˇ‰ˇˇ≤ÎÎÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍòň@ĈHHgÆL5‰Ä˛ˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7254. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7255. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7256.  
  7257.  
  7258.  ˛êêê@Ĉ∂àˆ~'Ïâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍ)Îâˇêˇˇ„ˇÒˇˇ¯ˇÌˇˇÂÎÎÅÍ)Îâˇêˇˇ„ˇÚˇˇ˘ˇÌˇ„ÏÎÅÍCÎâˇêˇˇ„ˇÛˇ¸ˇˇ˛˛ˇˇˇ¸
  7259. ˇˇˇˇˇˇ˝ˇˇˇ˛ˇÌÎÎÅÍ?Ïâˇêˇˇ„Ûˇˇ˝ˇˇˇ¸ˇ˛¯ˇˇˇˇˇˇˇˇÓÎÏÅÍFÎâˇêˇˇ„ˇÚ
  7260. ˇˇˇˇˇˇˇ˚ˇˇˇˇ˛ˇ˝ ˇˇˇˇˇˇÓÏÎÅÍFÏâˇêˇˇ„ˇÒˇˇˇˇ˛˛ˇ˛ˇ˝ˇˇ˛ˇ˛ˇ˛ˇˇˇˇˇÓÎÏÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÎâ硄ˇ≤ÏÎÅÍÎâˇêˇˇ„ˇ≤ÎÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇêˇˇ„ˇ≤ÏÎÅÍÏâˇêˇˇ„ˇ≤ÎÏÅÍÎâˇ≥ˇflˇˇ„ˇ≤ÎÎÅÍ'Î⡑ˇÚˇˇÚˇflˇˇ„ˇ≤ÏÎÅÍ3ÎâˇÀˇ¸ˇ˚ˇˇˇˇ˛˛ˇˇˇ‚ˇˇ„ˇ≤ÎÎÅÍMÏ⡷ˇ˛ˇ˛ˇˇ˛    ˇ˛ˇ˛ˇ˛˛ˇˇˇ˛ˇ˛ ˇˇˇˇˇ¸ˇ„ˇˇ„ˇ≤ÎÏÅÍFÎ⡷ˇˇˇ˚    ˇˇˇˇ¸ˇ¸ˇ˛    ˇˇˇˇˇ‡ˇˇ„ˇ≤ÏÎÅÍEÏ⡷ˇˇˇ˚    ˇˇˇˇ¸ˇ˚˛ˇˇˇ˛˛ˇ˛ˇ„ˇˇ„ˇ≤ÎÏÅÍ8Î⡷˛ˇˇˇ˛˝˛ˇˇ˛˛˛ˇ˛˛ˇœˇˇ„ˇ≤ÎÎÅÍÎ⡷ˇ±ˇˇ„ˇ≤ÏÎÅÍ$Î⡷ˇˇ≤ˇˇ˜ˇˇÔˇ≤ÎÎÅÍÏâˇêˇˇ˚˚ˇÔˇ≤ÎÏÅÍÎâˇêˇˇ˜ˇÔˇ≤ÏÎÅÍÏâçˇÓˇ¯ˇ≤ÎÏÅÍ"Îâˇêˇˇ¸˙ˇ˘ˇ¯ˇ≤ÎÎÅÍ#Îâˇêˇˇ˜ˇˇ˘ˇ¯ˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍòňÄúˆHHgÆT5ÂIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7261. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7262. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7263.  
  7264.  
  7265.  ˛êêêÄúˆˆà~'ÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÎâˇêˇˇÌˇ˘ˇˇ≤ÏÎÅÍÎâˇêˇˇÌˇ˘ˇ±ÎÎÅÍÏâçˇÌˇ¸˝ˇ±ÎÏÅÍÎâˇêˇˇÌ˙ˇÆÏÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÎ⸡ԡ®ÎÎÅÍÏà˝ˇëˇÔˇ®ÎÏÅÍÎܡ롡ԡ®ÏÎÅÍÏáˇˇí˛ˇÔˇ®ÎÏÅÍÎàˇˇëˇˇÓˇ®ÎÎÅÍò@@ˆ@ˆàR~?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ìò@@Ĉ@ĈRàí~?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ìò@ÄúˆÄúˆíàÆ~?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ì?◊ˇ˛Ìòň@ˆHHgÆL5ÊIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7266. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7267. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7268.  
  7269.  
  7270.  ˛êêê@ˆàR~'ÎâˇˇëˇˇÌˇ®ÏÎÅÍÎâˇë˛ˇÌˇ®ÎÎÅÍÏäˇˇëˇˇÏˇ®ÎÏÅÍÎãˇˇëˇˇÎˇ®ÏÎÅÍÏãˇë˛ˇÎˇ®ÎÏÅÍÎåˇˇí˛ˇÍˇ®ÎÎÅÍÎå˝ˇî¸ˇÏˇ®ÏÎÅÍÎã˛ˇêˇˇÌˇ®ÎÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÎâˇêˇˇÌˇ®ÏÎÅÍÎâˇêˇˇÌˇ®ÎÎÅÍÏâˇêˇˇÌˇ®ÎÏÅÍÎâçˇÌ˘ˇØÏÎÅÍÏâˇêˇˇÌˇ˚˛ˇ±ÎÏÅÍÎâˇêˇˇÌˇ˘ˇ±ÎÎÅÍÎâˇêˇˇÌˇ˘ˇˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâçˇÌˇ¯ˇ≤ÏÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍ,Ï⡖¸ˇˇˇ˝ˇˇ–ˇˇÌˇ¯ˇ≤ÎÏÅÍ/ÎâˇŒˇ˛    ˇˇˇˇ—ˇˇÌˇ¯ˇ≤ÎÎÅÍ*ÎâˇŒˇˇ˝ˇˇÕˇˇÌˇ¯ˇ≤ÏÎÅÍ*ÎâˇŒˇˇ˝ˇˇÕˇˇÌˇ¯ˇ≤ÎÎÅÍ/ÏâˇŒˇ˛    ˇˇˇˇ—ˇˇÌˇ¯ˇ≤ÎÏÅÍ,ÎâˇŒˇ˝ˇˇ˝ˇˇ–ˇˇÌˇ¯ˇ≤ÏÎÅÍòň@ĈHHgÆT5ÁIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7271. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7272. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7273.  
  7274.  
  7275.  ˛êêê@ĈRàí~'ÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÏÎÅÍÎâˇêˇˇÌˇ¯ˇ≤ÎÎÅÍ+ÏâˇêˇˇÌˇ¯ˇÚ˛ˇ˙ˇÏˇˇ„ÎÏÅÍ-ÎâˇêˇˇÌˇ¯ˇÚˇˇ˚ˇÏˇ‚ÏÎÅÍEÏâˇêˇˇÌˇ¯ˇÚˇˇ˛ˇ˚ˇ˝ˇˇˇˇ˛ˇˇ˛ˇˇˇ˛ˇÎÎÏÅÍGÎâˇêˇˇÌˇ¯Ùˇ˛ˇˇ˛ˇˇˇ˛ˇˇ˘ˇˇˇˇˇˇˇˇˇÏÎÎÅÍJÎâˇêˇˇÌˇ¯ˇÚˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˝
  7276. ˇˇˇˇˇˇÏÏÎÅÍHÎâˇêˇˇÌˇ¯ˇÚ˛ˇ˛˛ˇˇˇ˛ˇ˛ˇˇ˛ˇ˛ˇ ˇˇˇˇˇˇÏÎÎÅÍÏâˇêˇˇÌˇ¯ˇ≤ÎÏÅÍ#Î¯ˇêˇˇÌˇ¯ˇ≤ÏÎÅÍ"Ïî˚ˇ¸ˇêˇˇÌˇ¯ˇ≤ÎÏÅÍÎî˜ˇçˇÌˇ¯ˇ≤ÎÎÅÍ!ÎùÓˇˇêˇˇÌˇ¯ˇ≤ÏÎÅÍ&Îùˇ˘˚ˇ¸ˇêˇˇÌˇ¯ˇ≤ÎÎÅÍ'Ïùˇ˘ˇˇ¯ˇêˇˇÌˇ¯ˇ≤ÎÏÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÏÎÅÍ"ÏùˇÓˇêˇˇÌˇ¯ˇ≤ÎÏÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÎÎÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÏÎÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÎÎÅÍ"ÏùˇÓˇêˇˇÌˇ¯ˇ≤ÎÏÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÏÎÅÍ"ÏùˇÓˇêˇˇÌˇ¯ˇ≤ÎÏÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÎÎÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÏÎÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÎÎÅÍ"ÏùˇÓˇêˇˇÌˇ¯ˇ≤ÎÏÅÍ"ÎùˇÓˇêˇˇÌˇ¯ˇ≤ÏÎÅÍ"ÏùˇÓˇêˇˇÌˇ¯ˇ≤ÎÏÅÍ%Σ¸ˇˇÓˇêˇˇÌˇ¯ˇ≤ÎÎÅÍ!ζ˝ˇ¸ˇÓçˇÌˇ¯ˇ≤ÏÎÅÍ'Îߡˇ˘ˇÓˇêˇˇÌˇ¯ˇ≤ÎÎÅÍ&Ïߡ¯ˇÓˇêˇˇÌˇ¯ˇ≤ÎÏÅÍ8ήˇˇ¯ˇÓˇ›ˇˇ¯ˇÒˇ˙ˇŸˇˇÌˇ¯ˇ≤ÏÎÅÍ5Ï®ˇ˜ˇÓˇfiˇˇ˘ˇÈˇŸˇˇÌˇ¯ˇ≤ÎÏÅÍOήˇ˜ˇÓˇflˇ˚ˇˇ˛ˇˇˇ˝˛ˇˇˇˇ˛ˇ¸ˇˇˇflˇˇÌˇ¯ˇ≤ÎÎÅÍHήˇ˜ˇÓˇflˇ¸ˇˇˇˇ˝ˇ˛ˇˇˇˇˇˇˇ˚ˇfi͡¯ˇ≤ÏÎÅÍMήˇ˜ˇÓˇfiˇˇˇˇˇˇˇ˚ˇˇˇˇˇˇˇˇˇ˛ˇfiˇˇ„ˇ≤ÎÎÅÍIÏ®ˇ˜ˇÓˇ›ˇˇ˛ˇˇ˛ˇ˛ˇ˛˛ˇ ˇˇˇˇˇ˚ˇfiˇˇ„ˇ≤ÎÏÅÍ6Î¸ˇÒˇˇˇËˇÌˇ˜ˇÓˇ…ˇ…ˇˇ„ˇ≤ÏÎÅÍ2ÏÓˇÌˇÊˇÌˇ˜ˇÓˇ…ˇ…ˇˇ„ˇ≤ÎÏÅÍ[ÎÓˇˇˇ˛ˇ˛ˇ˛ˇˇ¸ˇˇˇ˛ˇ˝ ˇˇˇˇˇˇˇ¸ˇˇˇÙˇ˜ˇÓˇ…ˇ…ˇˇ„ˇ≤ÎÎÅÍRÎÓˇˇ˝˛ˇˇ¸ˇ ˇˇˇˇˇˇ˛ˇˇ¸ˇ ˇˇˇˇˇÙˇ˜ˇÓ硄ˇ≤ÏÎÅÍ\ÎÓ ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇ˛ˇ˝ˇˇˇˇÛˇ˜ˇÓˇêˇˇ„ˇ≤ÎÎÅÍXÏÓˇˇ˛˝ˇ    ˇˇˇˇ˛ˇˇˇˇˇ˝ˇ˛˛ˇ˛ˇ˝ˇˇÛˇ˜ˇÓˇêˇˇ„ˇ≤ÎÏÅÍ8ήˇ˜ˇÓˇfi¸ˇˇˇ˝ˇˇÙˇ˙ˇÿˇˇ„ˇ≤ÏÎÅÍ7Ï®ˇ˜ˇÓˇ‹ˇ˛    ˇˇˇˇÌˇÿˇˇ„ˇ≤ÎÏÅÍEήˇ˜ˇÓˇ‹ˇˇ˝ˇˇ˙˛ˇ˛ˇˇˇ˛ˇ¸ˇˇˇfiˇˇ„ˇ≤ÎÎÅÍDήˇ˜ˇÓˇ‹ˇˇ˝ˇˇ˙ˇˇˇˇˇˇˇ˚ˇ›ˇˇ„ˇ≤ÏÎÅÍIήˇ˜Îˇ›ˇ˛    ˇˇˇˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇ›ˇˇ„ˇ≤ÎÎÅÍ@Ï®ˇ„ˇ‹ˇ˝ˇˇ˝ˇˇ˝˛ˇ˛
  7277. ˇˇˇˇˇ˚ˇ›ˇˇ„ˇ≤ÎÏÅÍ#ήˇˇ‰ˇÀˇ«ˇˇ„ˇ≤ÏÎÅÍ#Ïߡ‰ˇÀˇ«ˇˇ‰ˇˇ≤ÎÏÅÍ"Î߲ˇÊˇÀˇ«ˇˇ‰ˇ±ÎÎÅÍΕ˙ˇÏˇêˇˇÊ˛ˇ±ÏÎÅÍÎâçˇÏ˙ˇØÎÎÅÍÏâˇêˇˇìÎÏÅÍÎâˇêˇˇìÏÎÅÍÏâˇêˇˇìÎÏÅÍÎâˇêˇˇìÎÎÅÍÎ⸡ñÏÎÅÍÎà˝ˇëˇïÎÎÅÍòňÄúˆHHgÆL5ËIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7278. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7279. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7280.  
  7281.  
  7282.  ˛êêêÄúˆíàÆ~'Ïᡡ롡ïÎÏÅÍÎáˇë˛ˇïÏÎÅÍÏàˇˇëˇˇîÎÏÅÍÎ⡡롡ìÎÎÅÍÎâˇë˛ˇìÏÎÅÍÎäˇˇí˛ˇíÎÎÅÍÏãˇˇëˇˇëÎÏÅÍÎãˇë˛ˇëÏÎÅÍÏåˇˇí˛ˇêÎÏÅÍÎå˝ˇî¸ˇíÎÎÅÍÎâˇêˇˇìÏÎÅÍÎâˇêˇˇìÎÎÅÍÏâˇêˇˇìÎÏÅÍÎâˇêˇˇìÏÎÅÍÏâˇêˇˇìÎÏÅÍÎâˇêˇˇìÎÎÅÍÎâˇêˇˇìÏÎÅÍÎÅÅßÎÎÅÍÏÅÅßÎÏÅÍÎÅÅßÏÎÅÍÏÅÅßÎÏÅÍÎÅÅßÎÎÅÍÎÅÅßÏÎÅÍÎÅÅßÎÎÅÍÏÅÅßÎÏÅÍÎÅÅßÏÎÅÍÏÅÅßÎÏÅÍÎÅÅßÎÎÅÍò@@ˆ@ˆÆàÓ~?◊ˇ˛Ì?◊ˇ˛Ì◊ˇ˛Ì¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ˝¯¯Ë‡èà ˝DEHà ˝DFPà ˝àäúà ˝Ùà ˝ÄÑ#à‡ÇÃ
  7283. ˛ ÇÃ
  7284. ˛D@â$Ã
  7285. ˛˛ÉÄ?8á¡¡˝¸ÄÄĞœ˝D˛@ÄŒ˝@˛@Ş˝@◊˝âΩïåÄáŸ∂9˚2¡ì
  7286. Ï∞ÿ˝»íÇ"IH°I îîí@ÿ˝ëHí$‡ÄÇ$I!"â © ¢@ÿ˛1$8ÄÑDíBä@Æ!"Äÿ˛a,"    ÖD≤ TíP»•dÄÿ˛Å‘9¬CSq£b`áòÄÿ¸à«¸à«¸p«˝‡0˛„†Ë˛@0‹˝@˚àA˛ÄP‹˝@   àAÄÄH‹˝¨˚0Ïå¸ÀÛ2Mb(åüÕl˛I∂0fl˝íDI$îE$ÄDʼníRÉ–D•í$RJHHfl˝íDä$†J$ÄHÅí§Ç$ë$íDíTHêfl ˛$àäI ä)àÇñπ%
  7287. 9$D¢‘ê‡fl ˛%®íYd≤I@©    ##&£%H´d∞àfl ˛¶Ha¶òMâÄF¬9&.0íCPpfl
  7288. Ì˝€
  7289. Ì˝€
  7290. Ì˝€˝Ë˛@0˛¿«@÷˛˛ÄP˛ (Ä÷ò@@Ĉ@ĈÓà.~˛ÄÄH˛ 0Ä÷˝åüÕl˛I∂0FdöƒP’˝D•í$RJHHâ$•†’˝$ë$íDíTHê%I ’˛%
  7291. 9$D¢‘ê‡-r ’˛#&£%H´d∞à6F"’˛¬9&.0íCPr $:’˝˝˛œ˝˝˛œ
  7292. ˝˝À ˝¸˝Ä0˛ !Ä`aé@¿·˝D˚    $¿˚Ä êë¸@·˝@˚E˛˛Ä Ş@·"˝äÕ∂9ºƒE¡·çg…ga¿!÷åo‚#˝ÒI$H©  F íDíêI)$$í@¡    $I)íîÄ„#˝ë"IH!@: îHí@JQHDî@!    Dâ$•$Ä„$˛$íp#Ä
  7293. !I$ ZRpI$Ä"DíB    9»Ä„#˛%íƒJJ $2A$ì-êlíƒK,¢B!I2Ÿ    c‚#˛Çì8q˘»¡Å√
  7294. 2‡Hm853Aá>0”.úÓ‚Ùı ¸‚Ùı ¸‚Ùıp¸8‚¡¡¡¡¡¡¡¡¡¡¡¡˝0˸–˝0¸–˝P˛ –˝ ìœÇñœ2ˆXaÄ“˝ ë$íDI$íI íÄ“˛ Ò$îÑI$íR î—˛ (ßRH§ú@    $—˛
  7295. I,DDíY%±@    ,Ä“˛
  7296. ;éÉÉnNB3“˝˝œ˝˝œ ˝8˝8Ã˝Ó˛ ˝Ï”˛˛(˚$”˛˛(˝ $@◊˝á
  7297. …X
  7298. VZ«cŒˆÿIì˝õÊXÿ˝DíI$
  7299. Y!"îíI Hî¢$â ÿ˝$¢J$
  7300. ë!$îàQ Hí"Dë ÿ˛)$ZH±BE#í@ë!DI@ÿ˛)elJ2BY*≤¿µ,‘KR@ÿ˛…öHL9|Bg7MAH◊$4å@ÿ    ıÄ—    ıÄ—ıŒ˝
  7301. ¯@įĖ˝    DÄÄDœ˝ DÄÄÄ@B“˝
  7302. àflÚ0ó‡É¨√{,”˝
  7303. ˘)     HàÄÇë%$ê”˝
  7304. ÜI#íêàÄÖH(ê”ò@ÄúˆÄúˆ.àJ~˛í!‡ë#àH†”˛
  7305. 6å"àëAb)Y ”˛Ò…r9–É·°Δ& ”    ˚À    ˚PÀ˚`»
  7306. ˝˘Ä˝ÄŒ
  7307. ˝HÄ˝Ñ@Œ˝HÄÄ@Œ˝ëdÔc}ñÄŒ
  7308. ˝ë%$ÑíHÕ
  7309. ˝ë$ÑàîHÕ˛"HI    $PÕ˛    *À+    lê@Œ˛    ë5≈ì OÄŒ¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHgÆT5ÈIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7310. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7311. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7312.  
  7313.  
  7314.  ˛êêê@ˆÆàÓ~'ÎÅÅßÏÎÅÍdÎÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏÎÎÅÍb˛˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏ˛ÎÏÅÍÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅã6·ˇ˛˛ˇ˛ˇ˛˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇ¯ˇ˛ˇ˘ˇˇ˛ˇ˛ˇˇÅÅÅ„4‡ˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇ˛ˇ¯ˇ˘ˇˇˇÅÅŇ.‡ˇ˛ˇ˛ˇ˛ˇˇ˝ˇˇ˝ˇ¯ˇˆˇˇÅÅÅfl/·ˇ˛ˇ˛ˇ˛ˇˇ˙ˇ˝˛˘ˇˆˇ˛ˇˇÅÅÅ·(·˝ˇ˝˝ˇˇ˙ˇ¸ˇ˘ˇ¯ˇˇ˚ˇÅÅÅ‚0·ˇ˙ˇ˝ˇ˙ˇ˝ˇ˛˛ˇ˛ˇ˛˛ˇ¸ˇ¸ˇÅÅÅ‚(‚ˇ˙ˇ¸˛˙˛˝ˇ˘ˇıˇ¸ˇÅÅÅ‚5‚ˇ˙ˇ¸ˇ˛ˇ˛ˇ˛ˇ¯ˇ˝ˇ˛    ˇˇˇˇÅÅÅ·%„˛ˇ¸˛ˇ¸˛ˇ¸˛ˇ¯˚ˇ¸ˇˇ˛˛ˇÅÅŇÅÅÅãÅÅÅãÅÅÅã)·ˇ˛˛ˇ˛ˇÂ˛ˇ˘ˇˇÛˇˇ‚ˇ˚ˇÅÅì ‡ˇ˛ˇ·ˇ˙ˇˇÙˇˇÅÅÅÏ$‡ˇ›ˇ˜ˇıˇˇ˚ˇÊˇ‹ˇÅŵַˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇ˙ˇ˜ˇıˇˇ˝ˇˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇ˛˛ˇ˛ˇˇ˛ˇ˛ˇˇˇ¸˛ˇ˛ˇ˛˝ˇˇ˛˛ˇˇˇˇˇ˛ÅÅø·˝ˇ˝ˇˇˇ˛ˇˇˇ˝ˇˇ˚ˇ˘ˇˇÙˇˇ¸ˇ˛ˇ˛ˇˇˇˇˇˇ˛ˇˇ˝ ˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇÅÅΩÅ·ˇˇ˛ˇˇˇ˛ˇˇˇ˛ˇˇ˙ˇ˛ˇ¸ˇˆ¸ˇ¸ˇ˛ˇˇ˛    ˇˇˇˇ˝ˇˇ˛ˇˇ˛ˇˇˇ¸
  7315. ˇˇˇˇˇ¸ˇˇ˛ˇˇÅÅΩy‚ˇ˙ˇˇˇ˛ˇˇ˛˝˛ˇ˙ˇˆˇˆˇ˛ˇ˝˛˛˛˛    ˛ˇˇˇ˝ˇ˛ˇ˛˝ˇˇ˛ˇˇ˛˚ˇˇˇ˛ˇ˛ˇ˝ˇˇ˛ˇˇÅźւˇ˚ˇˇˇ˝ˇˇˇˇ˝ˇ˛ˇ¸ˇ˙ˇˇˆˇ˝ˇ˝ˇˇˇ˛&ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇ˛ˇˇˇˇˇˇˇˇÅźt„˛ˇ˚¸ˇ˝ˇˇˇˇ¸˛ˇ¸˛ˇ˙ˇˇˆ˛ˇ˛ˇ˝ˇˇ˝
  7316. ˇˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇ˛ˇˇˇ¸ˇ˝˛ˇ˛ˇˇ˛ˇˇˇ˛ˇÅźŸˇ˛ˇÅÅÅ∏Ÿˇ˛ˇÅÅÅ∏ ÿ˛ˇÅÅÅ∑@·ˇ˛ˇÍˇˇ˛‡ˇˇ˛ˇˇÁ˛ˇ˛ˇ˛˛ˇˇ¸ˇ˛ˇˇ·˛ˇˇ˛˘ˇˇÅÅfl:‡ˇËˇÕˇ˛ˇÁˇ˛ˇˇ˛ˇ¸ˇ˛ˇ·ˇ˛ˇ˘ˇˇÅÅflJ‡ˇ˘ˇÒˇÛˇÍˇÙˇ˛ˇÁˇ˛ˇˇ˝ˇ¸ˇ˛ˇıˇÓˇ˛ˇ˘ˇˇÅŇ∫·ˇˇˇˇ˛ˇ˛ˇˇ˛ˇ˛˝˛ˇˇˇˇ˛ˇˇ˛ˇ ˛ˇˇˇˇˇˇ˛˘˛ˇ˛ˇ˛˙˛˛˛ˇ˛ˇ˛ˇˇˇˇ˛ˇˇ˛ˇ˛ˇˇˆˇ˛ˇˇˇ˛˛ˇ˛ˇˇˇˇ˛ˇˇˇˇ˙ˇ¸˛ˇ˛˛ˇ˛˛ˇˇˇ˛ˇˇ˛ˇˇ˛ˇ˛ÅÅ˜π·    ˇˇˇˇ˛ˇ˛ˇˇˇˇˇˇˇˇ˛ˇ˛ ˇˇˇˇˇ˘ˇ˛ˇˇ˚˝ˇˇˇˇˇˇˇˇˇ¸˝ˇˇÙˇ˛
  7317. ˇˇˇˇˇ˛ ˇˇˇˇˇ˙ˇ˛ˇˇ˛ˇˇˇˇˇˇˇˇ˝ˇˇÅů∂·    ˇˇˇˇ˛ˇˇ˛ˇˇ˛ˇˇˇˇ˚ˇˇˇ˛ˇˇˇ˘ˇˇ˛ˇ˚ˇ˝ˇ˛ˇˇˇˇˇˇˇ¸ˇ˝ˇÛ    ˇˇˇˇ˛ˇˇˇˇˇˇ˘ˇˇ˛ˇˇˇˇˇˇˇ˛ˇˇ˛ˇˇÅŘ∫‚    ˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇ˛ˇˇˇ¸ˇ˛ˇˇ˛ˇˇˇ˘ˇ˛ˇ˛ˇ¸ˇ¸ˇ˛    ˇˇ˛ˇˇ˛ˇˇ¸˛¸ˇ˜ˇ˛ˇ˛ˇ˝ˇˇ˛˛ˇˇˇ˛¸ˇ˛ˇ˛˛˛ˇˇ˛
  7318. ˇˇ˛ˇ˛ˇˇ˝ˇ˛ˇÅň«‚
  7319. ˇˇˇˇˇˇˇ˛)ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˚ˇˇˇˇ˚ˇ¸ˇˇ˛ˇˇˇˇˇ˛ˇˇ¸ˇ¸ˇ˛ˇ˚ˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛    ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇÅů؄˛ˇ ˇˇˇˇˇ˝ˇˇ˝
  7320. ˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇ˛ˇˇˇ˘ˇ˛ˇˇ˚˛ˇ¸ˇˇ˝ˇˇ˝˛ˇˇ˝˛ˇ¸˛ˇ˚ˇ˛ˇ˝ˇ˛˛ˇˇ˛˛ˇˇˇˇˇ˛ˇ˛ˇ˛ˇˇ˝    ˇˇˇˇ˝ˇˇˇˇ¸˛ˇÅŘÅ€ˇŸ˛ÅÅ€Åfiˇˇ⁄ˇˇÅÅ€ÅfiˇˇŸˇˇÅÅ⁄3·ˇ˛ˇˇ·˛ˇˇ˛˘ˇˇ‡˛˛ˇ˛Ê˛˛ˇ˛˛˛ˇˇ˛ÅÅ≠2‚ˇ˛ˇ·ˇ˛ˇ˘ˇˇflˇ˛ˇÊˇ˛ˇˇ˛ˇÅŨòň@ĈHHgÆL5ÍIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7321. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7322. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7323.  
  7324.  
  7325.  ˛êêê@ĈÓà.~'6‚ˇ˛ˇıˇÓˇ˛ˇ˘ˇˇ‡ˇ˛ˇÊˇ˛ˇˇ˝ˇÅŨx·ˇ˛ˇˇˇ˛˛ˇ˛ˇˇˇˇ˛ˇˇˇˇ˙ˇ¸˛ˇ˛˛ˇ˛˛ˇˇˇ˛ˇˇ˛ˇˇ˛ˇ˛¯ˇ˛ˇ˛ˇˇˇˇˇˇ˛ˇˇˇˇ˛ˇ˛ˇ˛ÅÅßr‡ˇ˛
  7326. ˇˇˇˇˇ˛ ˇˇˇˇˇ˙ˇ˛ˇˇ˛ˇˇˇˇˇˇˇˇ˝ˇˇ˘˝ˇ˛ˇˇˇˇˇˇˇˇ¸˝ˇˇÅŶrfl    ˇˇˇˇ˛ˇˇˇˇˇˇ˘ˇˇ˛ˇˇˇˇˇˇˇ˛ˇˇ˛ˇˇ¯ˇ¸ˇ˛ˇˇˇˇˇˇˇ¸ˇ˝ˇÅŶt„ˇ˛ˇ˛ˇ˝ˇˇ˛˛ˇˇˇ˛¸ˇ˛ˇ˛˛˛ˇˇ˛
  7327. ˇˇ˛ˇ˛ˇˇ˝ˇ˛ˇ¯ˇ˚ˇ˛ˇˇˇ˛ˇ˛ˇˇˇ¸ˇ¸ˇÅŶ~„ˇ˛ˇ˛ ˇˇˇˇˇˇˇ˛    ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˝ˇ˛ˇ˙ˇ˚ˇˇ˛ˇˇˇˇˇ˛ˇˇ¸ˇ¸ˇ˛ˇÅÅ™p‰ˇ˛ˇ˝ˇ˛˛ˇˇ˛˛ˇˇˇˇˇ˛ˇ˛ˇ˛ˇˇ˝    ˇˇˇˇ˝ˇˇˇˇ¸˛ˇˇ˝˛ˇ˚ˇˇ˝ˇˇ˝˛ˇˇ˝˛ˇ¸˛ˇÅÅ©€ˇŸ˛„ˇÅÅÅ˙fiˇˇ⁄ˇˇ‰ˇÅÅÅ˘fiˇˇŸˇˇÅÅÅ⁄K·ˇ˛˛ˇ˛flˇÌ˛ˇ˝ˇˇ¸ˇˇ˛Âˇ˝ˇˇÈ˛ˇ˚˛ˇ˝ˇˇ˛ˇ˛ˇÔ˛Îˇ˛ÅÖ;‡ˇ˛ˇÀ
  7328. ˇˇˇˇˇˇÀˇËˇ¸ˇˇ˝ˇˇ˛ˇÿˇÅÖ4‡ˇƒˇˇ˛ˇˇ‚ˇÈˇËˇ˘ˇ˝ˇ˚ˇÊˇÙˇÅÖœ·ˇ˛ˇˇˇˇˇˇ˛ˇˇ˛ˇˇ˝˛ˇ¸ˇ˛ˇ˛ˇˇ˛ˇˇˇˇ˛ˇ˘ˇˇ˛ˇ˛ˇˇ¸˛˛ˇ˝˛ˇ˛ ˇˇ˛ˇˇˇˇ˛˛ˇ˛˝ˇˇˇ˛ˇˇˇˇ˛˛˛ˇ˚˛ˇˇ˛ˇˇ˝˛ˇˇ˘ˇ˝˛˚ˇ˝˛˛ˇ˝˛ˇ˛ ˇˇ˛ˇˇˇˇ˛˛ˇ˛˚ˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛Åì÷·˝ˇ˛ˇ˛ˇˇˇˇˇˇˇ˛ˇˇ˛
  7329. ˇˇˇˇˇ¯ˇˇ˛ˇ˛ˇˇ˛ˇ¸    ˇˇˇˇ˛ˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇ˚ˇˇ¸ˇ¸ˇ˚    ˇˇˇˇ˛ˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇÅˇˇ˛ˇˇ˛ˇˇˇˇˇˇ¸ˇ˝ˇ˛ˇˇˇıˇ˛˛ˇˇ˛ˇ¸ˇˇˇ˛ˇˇ˛    ˇˇˇˇ˙
  7330. ˇˇˇˇˇ˛ˇˇˇ˝ˇ˛ˇˇˇˇ˛ˇ˘ˇ˝ˇ˝ˇ˙ˇˇˇ˛ˇˇ˛    ˇˇˇˇ˚ˇ˛ˇˇˇˇˇˇˇÅî«‚ˇ˚ˇ˛ˇ˛ˇˇˇ˛ˇˇ˙ˇ˛ˇˇ˛˛ˇÙˇ¸ˇˇ˛ˇ˝ˇ˛ˇ˛˛ ˛ˇˇˇ˛˝ˇ˚˛ˇˇˇ˛ˇˇ˛ˇˇ¸˛ˇˇˇ˛ˇ¯ˇ˛ˇ˝ˇ˙ˇ˛ˇ˛˛ ˛ˇˇˇ˛˝ˇ¸ˇˇ˛ˇˇˇ˛ˇ˛ˇÅî·‚ˇ˚ˇ˛ˇˇˇˇˇˇˇˇ˛ˇ˛
  7331. ˇˇˇˇˇˇ˛ˇ˙ˇˇ˝ˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇˇˇˇˇ¸ˇˇˇˇˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇ˛ˇˇ˝ˇ˛ˇ˝ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇ˛ˇˇ˛ˇˇˇÅìæ„˛ˇ¸ˇ˝ˇˇˇˇˇˇˇ˛ˇ˝˛ˇ˛˚ˇ˛ˇˇ˚ˇˇ˛ˇˇ¸ˇˇ˚˛ˇ˝ˇˇ˝ ˇˇˇˇˇˇ˛ˇ˚ˇˇ˝ˇˇˇˇˇ˛ˇ¸ˇˇˇˇˇˇˇˇˇ¸ˇˇ˝˛ˇ¸ˇ˝˛ˇ˝ˇˇ˝ ˇˇˇˇˇˇ˛ˇ˚ˇˇˇ˛ˇ˛ˇ˛ˇÅíìˇûˇ—˛Åèìˇûˇ—ˇÅè†˛ˇ”˛ˇÅêÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãflˇˇÚˇˇˆˇ˛ˇˇ—˛ˇˇÅÅÉflˇˇÒˇ˜ˇ˛ˇœˇÅÅÇ ‡ˇˇÒˇ¯ˇ˝ˇ„ˇÓˇÅÅÇ]· ˇ˛ˇ˛ˇˇ˛ˇ˛˛˛˛˛ˇ¸ˇ˘ ˛ˇ˛ˇˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇ    ˛ˇˇˇ˛ˇ˘ˇ˛ˇˇ˝˛ˇÅÅå^·ˇˇ˛ˇˇˇˇˇˇˇ˛ˇ˘$ˇˇˇˇˇˇˇˇˇˇˇˇˇ˜ ˇˇˇˇˇÅÅåX‚¸ˇ˛ˇˇˇˇˇˇˇ˝ˇ˙ˇ˛ˇˇˇˇˇˇˇˇˇˇˇ˛ˇ˜ˇˇˇˇÅÅâ[‚ˇ˛ˇˇ˛ˇˇ˛ˇˇ˛ˇˇ¸˛˙˛˛ ˛ˇˇ˛ˇ˛
  7332. ˇˇ˛ˇˇˇ˛˛˛˜    ˇˇˇ˛ÅÅâd„ˇ˝ˇˇˇˇˇˇˇˇ˛ˇ˛ˇ˛ˇ˛ˇˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇ˜ ˇˇˇˇˇˇÅÅå_‰˛ˇ˛ˇ˛ˇ˛˛ˇ˝ˇ˛ˇ¸˛ˇ¸ˇˇ˛ˇˇˇˇ˛ˇ˝ˇˇˇˇ˛ˇˇ˝ˇ˝˛ˇ    ˇˇˇˇˇ˛ˇÅÅè‹ˇ¸˛⁄˛ÁˇÅÅÅ˙‹ˇ¸ˇ⁄ˇËˇÅÅÅ˘›˛ˇ˛˛ˇ‹˛ˇÅÅŇ)·ˇ˛ˇˇ˛ˇ‰ˇ˛¸ˇˇ˛Òˇ⁄˛ˇ˛ˇˇ˛ÅÅô%‚ˇ˛ˇˇ„ˇ˝ˇˇ«ˇˇˇÅÅô0‚ˇ˛ˇˇ‚ˇ˝ˇˇ‹ˇÌˇˇˇÙˇÙˇÅÅµí·ˇ˝ˇˇ˛˝ˇˇ˛ˇˇˇ˛ˇ˛ˇ˙ˇˇˇ˛ˇˇˇ˛ˇˇˇˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇ˛ˇ    ˛ˇˇˇˇ˛ˇ¯ˇˇˇ˛ˇ˛ˇ˛˛ˇ ˛ˇˇ˛ˇ˛ˇˇ˛˛ˇ    ˇˇˇ˛ˇÅÅ¿è‡ˇ˛ˇˇˇˇˇˇˇˇˇ˚ˇˇˇˇˇˇˇ˝ˇˇ˛ˇˇˇˇˇˇˇˇˇˇˇˆˇˇˇ˛
  7333. ˇˇˇˇˇ˛ˇ˛ˇˇˇ˛ˇˇˇÅÅæçflˇˇˇˇ˛ˇˇˇˇ˛ˇˇ˚ˇˇˇˇ˛ˇˇ˝ˇˇˇˇˇˇˇ˛ˇ˝ˇˇ˛ˇˇˆˇˇˇ˛ˇˇˇ˛ˇ˛ˇˇ˛ˇˇˇ˛ˇˇÅſ鄎˛ ˇˇˇˇ˛˛ ˛ˇˇˇ˛ˇ˚ˇˇˇˇˇ˛ˇ˛˝ˇ˛˛˛ˇˇ˛ˇˇ¸ ˛ˇˇˇ˛ˆ˛ˇˇ˛ˇˇ˝ˇ˛˛˛˛˛ˇˇ˛ˇ˛ˇ˛ÅÅΩ턡˛ˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇ˝ˇ˛
  7334. ˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇˆˇˇˇˇˇˇˇˇˇˇˇˇˇ˛ˇˇˇˇˇˇˇˇÅÅΩè‰ˇ˛ˇˇˇˇˇˇˇˇˇ˝ˇˇˇ˝˛ˇˇ¸ˇ˛ˇ˝ˇˇˇ˛ˇˇˇ˛ˇ˛˛ˇ˛ˇˇˇˇˇ¸ˇ˝˛ˇˇˇ˛ˇˇˇ˛ˇˇˇ˝ˇˇˇˇ˛ˇˇ˛ˇÅÅΩùˇ˛ˇÎ˛ÅÅãùˇ˛ˇÏˇÅÅä ú˛ˇÅÅÅÛ'·ˇ˛˛ˇÈ˛ˇˇ˛ÏˇˇÚˇ˛˛ˇ˛ˇÅÅŸ%‡ˇ˛ˇÎˇ˛ˇÎˇˇÒˇ˛ˇÅÅÅ˘3‡ˇ˛ˇ˙ˇˇ˜ˇ˝ˇÏˇˇ˘ˇ˙ˇ˝ˇÌˇÅÅèd·ˇ˛ˇ˛ˇˇ˛˛ˇ˛˛ˇ˛ˇ˝˛¯ˇˇ˛ˇ˛¯
  7335. ˇˇ˛ˇˇ˛˛ˇ¸ˇ¸ ˇ˛ˇˇˇˇˇˇ˝ˇ˛ˇˇ˛ˇˇ˛ˇˇˇÅÅôa·¸ˇ
  7336. ˇˇˇˇ˛ˇˇ˛ˇ¯ˇˇˇˇ˘ˇˇ˛ˇ˛ˇ˙ˇ¸ˇˇˇ˛ˇˇˇˇˇˇˇˇÅÅóc·ˇ˝
  7337. ˇˇˇˇˇ˛ˇˇ˛ˇ˛˛ˇ
  7338. ˇˇˇˇ˘¸ˇ˛ˇ˛ˇ˙ˇ˝ˇˇ˛    ˇˇˇˇ¸ˇˇ˛ˇˇÅÅóòňÄúˆHHgÆT5ÎIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7339. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7340. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7341.  
  7342.  
  7343.  ˛êêêÄúˆ.àJ~'a‚ˇ¸˛˛ˇˇˇ˝ˇ˛˝ˇ˝ˇ˛ˇˇ˛ˇ˛ˇ¯ˇ˛ˇˇ˛ˇ˙ˇ¸˛ˇˇ˛˛ˇ˛ˇ˝˛ˇ˛ˇˇÅÅñl‚ˇ˝ˇˇ˛ˇˇˇˇˇ˛ˇˇ˝ˇ˛ˇ˝ˇ˛ˇˇ˛ˇ˚ˇ˝ˇˇ˛ˇˇ¸ˇ˛ˇˇˇˇˇ˛ˇ˛ˇˇˇˇˇˇˇˇÅÅñZ„˚ˇ˛˛ˇˇˇ˝ˇ˚˝ˇ¸˛ˇ˛ˇˇ˛˛ˇ˛ˇˇ˝ˇ¸¸ˇ˝ˇˇˇ˝˛ˇ˛ˇˇ˛ˇˇˇ˛ˇÅÅñÕˇËˇÅÅÅ⁄–ˇˇËˇÅÅÅŸ
  7344. –ˇˇÅÅÅæ·ˇ˛˛ˇˇˇ‘ˇˇ˚˛ˇÅÅÅÏ"‡ˇˇ˛ˇ’ˇˇ˝ˇ˛ˇÅÅÅÌ#‡ˇˇ˛ˇÙˇÙˇÓˇ˘ˇÅÅÅÌB·ˇ˛˛˛ˇˇˇ˛ˇ˛ˇ˛ˇˇ˛ˇ˛ˇˇ˛ˇˇ˛ˇ˛ˇˇ˘˛˘ˇÅÅÅÏ@·ˇˇ˛ˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇ˘ˇˇ˘ˇÅÅÅÎ?·ˇˇ˛    ˇˇˇˇ˝ˇˇ˛ˇ˛ˇˇˇ˛ˇˇ˜ˇ˚ˇÅÅÅÍ>‚ˇˇ˛ˇ˛ˇ˝˛ˇˇ˝    ˇˇˇ˛˛˛ˇˆˇ¸˛ÅÅÅÈF‚ˇˇˇˇˇˇˇˇˇˇˇˇˇ˝ˇˇˇˇˇˇˇˇ˙ˇˇ¸ˇ˝ˇÅÅÅÌB„˛ˇˇ˛ˇˇˇˇ˛ˇ˛ˇˇ¸
  7345. ˇˇˇˇˇˇ˛ˇ˘ˇˇ˛ˇ¸ˇÅÅÅÏÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆJàä~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@Ĉäà ~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆ àÊ~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHgÆL5ÏIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7346. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7347. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7348.  
  7349.  
  7350.  ˛êêê@ˆJàä~'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHgÆT5ÌIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7351. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7352. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7353.  
  7354.  
  7355.  ˛êêê@Ĉäà ~'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHgÆL5ÓIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7356. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7357. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7358.  
  7359.  
  7360.  ˛êêêÄúˆ àÊ~'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãò@@ˆ@ˆÊà&~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@@Ĉ@Ĉ&àf~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ò@ÄúˆÄúˆfàÇ~¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡òň@ˆHHgÆT5ÔIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7361. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7362. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7363.  
  7364.  
  7365.  ˛êêê@ˆÊà&~'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòň@ĈHHgÆL5IJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7366. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7367. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7368.  
  7369.  
  7370.  ˛êêê@Ĉ&àf~'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãòňÄúˆHHgÆT5ÒIJˇˇˇˇˇˇˇˇˇˇÃÃˇˇˇˇôôˇˇˇˇffˇˇˇˇ33ˇˇˇˇˇˇÃÃˇˇˇˇÃÃÃÃˇˇÃÃôô    ˇˇÃÃff
  7371. ˇˇÃÃ33 ˇˇÃà ˇˇôôˇˇ
  7372. ˇˇôôÃÃˇˇôôôôˇˇôôffˇˇôô33ˇˇôôˇˇffˇˇˇˇffÃÃˇˇffôôˇˇffffˇˇff33ˇˇffˇˇ33ˇˇˇˇ33ÃÃˇˇ33ôôˇˇ33ffˇˇ3333ˇˇ33ˇˇˇˇˇˇÃàˇˇôô!ˇˇff"ˇˇ33#ˇˇ$ÃÃˇˇˇˇ%ÃÃˇˇÃÃ&ÃÃˇˇôô'ÃÃˇˇff(ÃÃˇˇ33)ÃÃˇˇ*ÃÃÃÃˇˇ+ÃÃÃÃÃÃ,ÃÃÃÃôô-ÃÃÃÃff.ÃÃÃÃ33/ÃÃÃÃ0ÃÃôôˇˇ1ÃÃôôÃÃ2ÃÃôôôô3ÃÃôôff4ÃÃôô335ÃÃôô6ÃÃffˇˇ7ÃÃffÃÃ8ÃÃffôô9ÃÃffff:ÃÃff33;ÃÃff<ÃÃ33ˇˇ=ÃÃ33ÃÃ>ÃÃ33ôô?ÃÃ33ff@ÃÃ3333AÃÃ33BÃÃˇˇCÃÃÃÃDÃÃôôEÃÃffFÃÃ33GÃÃHôôˇˇˇˇIôôˇˇÃÃJôôˇˇôôKôôˇˇffLôôˇˇ33MôôˇˇNôôÃÃˇˇOôôÃÃÃÃPôôÃÃôôQôôÃÃffRôôÃÃ33SôôÃÃTôôôôˇˇUôôôôÃÃVôôôôôôWôôôôffXôôôô33YôôôôZôôffˇˇ[ôôffÃÃ\ôôffôô]ôôffff^ôôff33_ôôff`ôô33ˇˇaôô33ÃÃbôô33ôôcôô33ffdôô3333eôô33fôôˇˇgôôÃÃhôôôôiôôffjôô33kôôlffˇˇˇˇmffˇˇÃÃnffˇˇôôoffˇˇffpffˇˇ33qffˇˇrffÃÃˇˇsffÃÃÃÃtffÃÃôôuffÃÃffvffÃÃ33wffÃÃxffôôˇˇyffôôÃÃzffôôôô{ffôôff|ffôô33}ffôô~ffffˇˇffffÃÃÄffffôôÅffffffÇffff33ÉffffÑff33ˇˇÖff33ÃÃÜff33ôôáff33ffàff3333âff33äffˇˇãffÃÃåffôôçfffféff33èffê33ˇˇˇˇë33ˇˇÃÃí33ˇˇôôì33ˇˇffî33ˇˇ33ï33ˇˇñ33ÃÃˇˇó33ÃÃÃÃò33ÃÃôôô33ÃÃffö33ÃÃ33õ33ÃÃú33ôôˇˇù33ôôÃÃû33ôôôôü33ôôff†33ôô33°33ôô¢33ffˇˇ£33ffÃç33ffôô•33ffff¶33ff33ß33ff®3333ˇˇ©3333ÃÙ3333ôô´3333ff¨333333≠3333Æ33ˇˇØ33ÃÃ∞33ôô±33ff≤3333≥33¥ˇˇˇˇµˇˇÃÃ∂ˇˇôô∑ˇˇff∏ˇˇ33πˇˇ∫ÃÃˇˇªÃÃÃúÃÃôôΩÃÃffæÃÃ33øÃÿôôˇˇ¡ôôÃìôôôô√ôôffƒôô33≈ôôΔffˇˇ«ffÃûffôô…ffff ff33ÀffÃ33ˇˇÕ33ÃÃŒ33ôôœ33ff–3333—33“ˇˇ”ÃÑôô’ff÷33◊ÿˇˇˇŸ˘`˘`˘`⁄Ú–Ú–Ú–€Ï@Ï@Ï@‹Â∞Â∞Â∞›fl fl fl fiÿêÿêÿêfl“““‡ÀpÀpÀp·ƒ‡ƒ‡ƒ‡‚æPæPæP„∑¿∑¿∑¿‰±0±0±0™†™†™†Ê§§§ÁùÄùÄùÄËñññÈê`ê`ê`Íâ–â–â–ÎÉ@É@É@Ï|∞|∞|∞Ìv v v ÓoêoêoêÔiiibpbpbpÒ[‡[‡[‡ÚUPUPUPÛN¿N¿N¿ÙH0H0H0ıA†A†A†ˆ;;;˜4Ä4Ä4į---˘'`'`'`˙ – – –˚@@@¸∞∞∞˝
  7373.  
  7374.  
  7375.  ˛êêêÄúˆfàÇ~'ÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãÅÅÅãˇÄ@ˇ ˇˇˇˇ@
  7376. ˇ·ˇ‚7^
  7377. 4*\¯, Palatino
  7378. &e.3+l"CHAPTER à)>1,     Helvetica
  7379.     ˇˇ—ÚˇÆ(@l'Introduction to PowerPC System Software4⁄*˙¯
  7380. (‡*1-28
  7381.     )BThe PowerPC Native Environment4^*¿¯
  7382. °dONLNd\lhr(elTµ¿°dONLNd\qhΩ)o access data storÁ`°dONLNd\Ωh9)Led in another fragment, therF¿°dONLNd/\:h„)}+e is no need for the caller to install the °dONLNdZilur(rlTs °dONLNd[iruò)OC addr‚İdONLNdbiòu*)&"ess of the other fragment in the R °dONLNdÑi+u1)ìTÛ@°dONLNdÖi0uÄ)OC. Instead, the TÀ@°dONLNdóiÄuÁ)POC entry of the calling °dONLNdØvlÇ–(lRfragment contains a pointer to the external data, in exactly the same way that a TÇ¿°dONLNdv–Ç·(–OC °dONLNdÉlèØ(ålKentry for global data in the same fragment contains a pointer to that data.°dONLNdPïl°<*1In short, a fragment’s table of contents contains,
  7383.  
  7384. Zapf Dingbats
  7385. °dONLNdÇ´l≤q*n
  7386. °dONLNdÑ®x¥) one p